J'utilise Ubuntu 16.04, qui vient avec Python 2.7 et Python 3.5. J'ai installé Python 3.6 sur celui-ci et le lien symbolique python3 vers python3.6 via alias python3=python3.6
.
Ensuite, j'ai installé virtualenv
en utilisant Sudo -H pip3 install virtualenv
. Lorsque j'ai vérifié, virtualenv s'est installé à l'emplacement "/usr/local/lib/python3.5/dist-packages"
. Ainsi, lorsque j'essaie de créer virtualenv à l'aide de python3 -m venv ./venv1
, des erreurs se produisent:
Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Que devrais-je faire?
Nous utilisons habituellement $ python3 -m venv myvenv
pour créer un nouveau virtualenv (Ici, myvenv
est le nom de notre virtualenv).
Comme dans mon cas, si vous avez à la fois python3.5
ainsi que python3.6
sur votre système, vous risquez d'obtenir des erreurs.
NOTE: Sur certaines versions de Debian/Ubuntu, le message d'erreur suivant peut s'afficher:
The virtual environment was not created successfully because ensure pip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
apt-get installpython3-venv
You may need to use Sudo with that command. After installing the python3-venv package, recreate your virtual environment.
Dans ce cas, suivez les instructions ci-dessus et installez le paquet python3-venv:
$ Sudo apt-get install python3-venv
NOTE: Sur certaines versions de Debian/Ubuntu, l’initialisation de l’environnement virtuel de cette manière donne actuellement l’erreur suivante:
Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Pour résoudre ce problème, utilisez plutôt la commande virtualenv.
$ Sudo apt-get install python-virtualenv
$ virtualenv --python=python3.6 myvenv
NOTE: Si vous obtenez une erreur comme
E: impossible de localiser le paquet python3-venv
puis exécutez à la place:
Sudo apt install python3.6-venv
L'installation de python3.6
et python3.6-venv
via ppa:deadsnakes/ppa
au lieu de ppa:jonathonf/python-3.6
a fonctionné pour moi
apt-get update \
&& apt-get install -y software-properties-common curl \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt-get update \
&& apt-get install -y python3.6 python3.6-venv
Je pense qu'un problème pourrait être lié à la mauvaise localisation. J'ai ajouté au /etc/environment
les lignes suivantes pour le corriger:
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
Vous devez source le fichier de votre bash avec cette commande:
source /etc/environment