Welche Datei bearbeite ich und wie? Ich habe eine virtuelle Umgebung erstellt.
python
linux
unix
virtualenv
TIMEX
quelle
quelle
virtualenvwrapper
Befehl. Es ist nicht Teil vonvirtualenv
.Antworten:
EDIT # 2
Die richtige Antwort ist @ arogachevs .
Wenn Sie die
PYTHONPATH
in einer virtuellen Umgebung verwendetebin/activate
Datei ändern möchten, können Sie der Datei Ihrer virtuellen Umgebung die folgende Zeile hinzufügen :Auf diese Weise wird das neue
PYTHONPATH
jedes Mal festgelegt, wenn Sie diese virtuelle Umgebung verwenden.EDIT: (um @ RamRachums Kommentar zu beantworten)
Um den ursprünglichen Wert wiederherzustellen
deactivate
, können Sie hinzufügenund fügen Sie Ihrem
bin/postdeactivate
Skript die folgende Zeile hinzu .quelle
deactivate
?PYTHONPATH
(die globale) anstelle des lokalen Pfads virtualenv hat?Der Kommentar von @ s29 sollte eine Antwort sein:
Eine Möglichkeit, der virtuellen Umgebung ein Verzeichnis hinzuzufügen, besteht darin, virtualenvwrapper zu installieren (was für viele Dinge nützlich ist) und dann zu tun
Wenn Sie diesen Pfad entfernen möchten, bearbeiten Sie die Datei
myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
Die Dokumentation zu virtualenvwrapper finden Sie unter http://virtualenvwrapper.readthedocs.org/en/latest/
Eine spezifische Dokumentation zu dieser Funktion finden Sie unter http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
quelle
add2virtualenv -d
Sie können eine
.pth
Datei erstellen , die das zu suchende Verzeichnis enthält, und es imsite-packages
Verzeichnis ablegen. Z.B:Der Effekt ist der gleiche wie beim Hinzufügen
/some/library/path
zusys.path
und bleibt lokal imvirtualenv
Setup.quelle
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Dokumente zu .pth-Dateien: docs.python.org/3.6/library/site.htmlpushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd
Dann habe ich meine virtuelle Umgebung deaktiviert und reaktiviert. Ich konnte jetzt Projektcode ausführen, bei dem ich wissen musste, wo sich mein Projektverzeichnis befand./bin/activate
) ist ein Fehlverhalten, und die Installation von Tools von Drittanbietern ist schlechter als die Verwendung einer integrierten Methode, um dies zu erreichen.quelle
Ich habe mein Aktivierungsskript so geändert
.virtualenvrc
, dass es die Datei als Quelle enthält , sofern sie im aktuellen Verzeichnis vorhanden ist, undPYTHONPATH
beim Aktivieren / Deaktivieren gespeichert / wiederhergestellt wird.Das gepatchte
activate
Skript finden Sie hier.. Es ist ein Drop-In-Ersatz für das von virtualenv 1.11.6 erstellte Aktivierungsskript.Dann habe ich so etwas zu meinem hinzugefügt
.virtualenvrc
:quelle
Hier wird es bereits beantwortet -> Verursacht meine virtuelle Umgebung (Python), dass mein PYTHONPATH kaputt geht?
UNIX / LINUX
Fügen Sie "export PYTHONPATH = / usr / local / lib / python2.0" in die Datei ~ / .bashrc ein und geben Sie "source ~ / .bashrc" OR ". ~ / .Bashrc" ein.
WINDOWS XP
1) Gehen Sie zur Systemsteuerung. 2) Doppelklicken Sie auf System. 3) Gehen Sie zur Registerkarte Erweitert. 4) Klicken Sie auf Umgebungsvariablen
Überprüfen Sie im Fenster Systemvariablen, ob Sie eine Variable mit dem Namen PYTHONPATH haben. Wenn Sie bereits eines haben, überprüfen Sie, ob es auf die richtigen Verzeichnisse verweist. Wenn Sie noch keine haben, klicken Sie auf die Schaltfläche Neu und erstellen Sie sie.
PYTHON-CODE
Alternativ können Sie auch unter Ihrem Code Folgendes tun: -
quelle