In dieser Konfiguration richten wir ein Python-virtualenv ein . Die Absicht
hinter der Verwendung von virtualenv als Python-Entwicklungsumgebung
um vom globalen System installierte ausführbare Dateien und Bibliotheken mit Paketen zu trennen,
die direkt in virtualenv installiert werden . Als Ergebnis ist man in der Lage,
eine gegebene Python-Anwendung mit mehreren Systemumgebungen auf einem einzigen
Host zu testen.
Die Installation von virtualenv unter Debian Linux ist einfach wie folgt:
# apt-get install python-virtualenv
In diesem Stadium können wir unser erstes virtualenv erstellen Python
Entwicklungsumgebung zB. myapp
$ virtualenv --no-site-packages myappRunning virtualenv with interpreter /usr/bin/python2New python executable in myapp/bin/python2Außerdem Erstellung einer ausführbaren Datei in myapp/bin/pythonInstallation von Setuptools, pip...fertig.
Durch die Verwendung des --no-site-packages Option stellen wir sicher, dass keine systemglobalen
Pakete mit unserem neuen virtualenv verknüpft werden Umgebung.
Lassen Sie uns genauer untersuchen, was gerade passiert ist. Erstensvirtualenv hat ein neues Verzeichnis erstellt, das als Container für
unsere myapp dient Entwicklung.
$ tree -L 2 myapp/myapp/├── bin│ ├── activate│ ├── activate.csh│ ├── activate.fish│ ├── activate_this.py│ ├── easy_install│ ├── ─ easy_install-2.7│ ├── ─ pip│ ├── pip2│ ├── ─ pip2.7│ ├── python -> python2│ ├── python2│ └── python2.7 -> python2├── lib│ ├ ── python2.7│ └── python-wheels└── lokal ├── bin -> /home/debian/myapp/bin └── lib -> /home/debian/myapp/lib7 Verzeichnisse, 12 DateienWie Sie unser neues
virtualenvsehen können Die Umgebung enthält alle
notwendigen Werkzeuge, um unsere Umgebung zu gestalten, wie separate Python-, Pip- und
easy_install-Binärdateien.An dieser Stelle sind wir bereit,
virtualenveinzugeben Umgebung:$ cd myapp/$ source bin/activate(myapp)debian@hostname:~/myapp$Einmal geben Sie
virtualenvein Python-Umgebung ändert sich Ihr PATH zu
binären ausführbaren Dateien:$ echo $PATH/home/debian/myapp/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesAls Ergebnis werden alle Ihre Python-Befehle mit
virtualenvausgeführt Umgebungs-Binärdateien. Verwenden SiewhichBefehl, um Ihren
vollständigen Pfad zu Ihren Python-Binärdateien zu finden:(myapp)debian@hostname:~/myapp$ which python pip easy_install/home/debian/myapp/bin/python/home/debian/myapp/bin/pip/home/debian/myapp/bin/easy_installJetzt können wir Pakete installieren, ohne die globale systemweite
Umgebung zu beeinträchtigen. Als Beispiel können wirdjangoinstallieren paket lokal zu
nur unserermyappUmgebung:(myapp)debian@hostname:~/myapp$ pip install djangoDjango wird heruntergeladen/entpackt Django-1.8-py2.py3-none-any.whl wird heruntergeladen (6,2 MB):6,2 MB heruntergeladen. Gesammelte Pakete werden installiert:django. Django wurde erfolgreich installiert. Aufräumen. ..Testen Sie
djangoPaketinstallation:(myapp)debian@hostname:~/myapp$ python -c "import django; print(django.get_version())"1.8Alles funktioniert wie erwartet. Sobald Sie Ihre Arbeit mit
virtualenvabgeschlossen haben
Umgebung können Sie mitdeactivateverlassen Funktion bereitgestellt
innerhalb vonbin/activateSkript:(myapp)debian@hostname:~/myapp$ debian@hostname:~/myapp$ deaktivierenEin Versuch, auf
djangozuzugreifen Pakete, die invirtualenvinstalliert sind Umgebung schlägt jetzt fehl:$ python -c "import django; print(django.get_version())"Traceback (letzter Aufruf zuletzt):Datei "", Zeile 1, in ImportError:No module named django