J'ai installé python3-virtualenv
sur Lubuntu 15.1 en utilisant le paquet officiel Ubuntu apt-get install python3-virtualenv
. La documentation officielle indique qu'un simple virtualenv .
dans le répertoire de mon projet devrait suffire à créer le venv. Cela ne fait rien, parce que which virtualenv
ne fait rien. (Rien de which python-virtualenv
et which python3-virtualenv
également).
Les informations sur le paquet, une fois installées, indiquent qu’elles ont installé /usr/lib/python3/dist-packages/virtualenv.py
; j’appelle donc cela sous python3. Cela me donne ceci:
$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.
Oui, quand je regarde, tout dans ./bin est python2. Le paquet python3-virtualenv d'ubuntu est-il un paquet factice pour python2?
La documentation officielle de Python indique que vous utiliserez un paquet différent: python3-venv . Cela semble fonctionner lorsque je pyvenv .
, avec des éléments python3 dans le répertoire ./bin
.
Comment créer avec succès un serveur virtuel Python 3?
venv
est un script pratique permettant de créer des envs virtuels, mais ne remplace pas complètement tout ce que virtualenv
peut faire. L'utilisation de l'un ou de l'autre convient toutefois dans la plupart des cas. virtualenv
n'est pas obsolète.
python3 -m venv
fonctionne après l'installation python3-venv
car Debian supprime certains scripts du paquet Python de base. python3-virtualenv
ne place pas le script virtualenv
sur votre chemin pour une raison quelconque, mais python-virtualenv
le fait et fonctionnera correctement pour l'une ou l'autre version.
Peu importe la version virtualenv
pour laquelle il est installé, il est possible de générer des envs pour toutes les versions installées en transmettant -p pythonX
(où X est la version). venv
, étant plus simple, ne créera que les envs de la version à partir de laquelle elle est exécutée et n’est disponible que depuis la version 3.3.
$ Sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ Sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate