Ich versuche, der Umgebungsvariablen PYTHONPATH einen Pfad hinzuzufügen, der nur in einer bestimmten virtuellen Umgebung sichtbar ist.
Ich habe es SET PYTHONPATH=...
unter einer virtualenv-Eingabeaufforderung versucht , aber das legt die Variable für die gesamte Umgebung fest.
Wie erreiche ich das?
python
virtualenv
Flavien
quelle
quelle
Wenn Sie verwenden
virtualenv
, sollten Sie wahrscheinlich auch virtualenvwrapper verwenden . In diesem Fall können Sie den Befehl add2virtualenv verwenden , um dem Python-Pfad für die aktuelle virtualenv Pfade hinzuzufügen:add2virtualenv directory1 directory2 …
quelle
add2virtualenv
ändert $ PYTHONPATH nicht, sondern ändert sys.path.add2virtualenv
, sehen Sie, dass er sys.path ändert. Ich bin damit einverstanden, dass die Dokumente den Eindruck erweckenPYTHONPATH
, dass die Umgebungsvariable geändert wird, aber das scheint falsch zu sein. bitbucket.org/virtualenvwrapper/virtualenvwrapper/src/…Sie können auch versuchen, einen Symlink zu einer Ihrer virtuellen Umgebungen zu erstellen.
z.B. 1) Aktivieren Sie Ihre virtuelle Umgebung. 2) Führen Sie Python aus. 3) Importieren Sie sys und überprüfen Sie sys.path. 4) Dort finden Sie den Python-Suchpfad. Wählen Sie eines davon aus (z. B. Site-Pakete). 5) Gehen Sie dorthin und erstellen Sie einen Symlink zu Ihrem Paket wie folgt: ln -s Pfad-zu-Ihrem-Paketnamen-mit-dem-Sie-importieren
Auf diese Weise sollten Sie es auch ohne Aktivierung Ihrer virtuellen Umgebung importieren können. Versuchen Sie einfach: Pfad zu Ihrem virtuellen Env-Ordner / bin / python und importieren Sie Ihr Paket.
quelle
Wenn Sie virtualenvwrapper verwenden,
Konsole wird angezeigt
Das war's, und du solltest gut gehen
quelle
Ich empfehle dringend, virtualenv und virtualenvwrapper zu verwenden, um ein Überladen des Pfads zu vermeiden.
quelle