Erstellen Sie eine virtuelle Python 3-Umgebung

15756
Escher

Ich habe python3-virtualenvauf Lubuntu 15.1 mit dem offiziellen Ubuntu-Paket installiert apt-get install python3-virtualenv. Die offizielle Dokumentation weist darauf hin, dass ein einfaches virtualenv .in meinem Projektverzeichnis ausreichen sollte, um das Verzeichnis zu erstellen. Das macht nichts, weil which virtualenvnichts tut. (Nichts von which python-virtualenvund which python3-virtualenvauch).

Sobald die Paketinformationen installiert sind, heißt es, dass sie installiert /usr/lib/python3/dist-packages/virtualenv.pysind. Daher rufe ich diese unter python3 auf. Es gibt mir das:

$ 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. 

Ja, wenn ich nachsehe, ist alles in ./bin Python2. Ist ubuntus python3-virtualenv ein Dummy-Paket für python2?

Die offizielle Python-Dokumentation besagt, dass ein anderes Paket verwendet wird: python3-venv . Das scheint zu funktionieren, wenn ich pyvenv .mit python3 Sachen im ./binVerzeichnis stecke .

Wie kann ich erfolgreich eine Python 3-Virtualenv erstellen?

11

1 Antwort auf die Frage

19
davidism

venvist ein komfortables Skript zum Erstellen von virtuellen Umgebungen, ersetzt jedoch nicht alles, was alles virtualenvkann. In den meisten Fällen ist die Verwendung von beidem in Ordnung. virtualenvist nicht veraltet.

python3 -m venvfunktioniert nach der Installation, python3-venvda Debian einige Skripte aus dem Python-Basispaket entfernt. python3-virtualenvDas virtualenvSkript wird aus irgendeinem Grund nicht auf Ihren Pfad gesetzt, python-virtualenvfunktioniert aber und wird für beide Versionen problemlos funktionieren.

Es ist nicht wichtig, für welche Version sie virtualenvinstalliert ist. Sie kann Envs für jede installierte Version erstellen, indem Sie sie übergeben -p pythonX(wobei X die Version ist). venvEinfacher ausgedrückt, werden nur Envs der Version erstellt, in der sie ausgeführt wird, und sind erst seit 3.3 verfügbar.

$ 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