Ich habe das in meinem ~/.profile
:
export PYTHONPATH=/home/dev/python-files
Im python-files
Verzeichnis habe ich ein paar Projekte aus git-hub (flask, curveship und py-vgdl) geklont.
Immer wenn ich versuche, eines der Beispiele in diesen Projekten zu starten, erhalte ich eine Fehlermeldung, die der folgenden ähnelt:
$ python ~/python-files/py-vgdl/examples/gridphysics/frogs.py
Traceback (most recent call last):
File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in <module>
from vgdl.core import VGDLParser
ImportError: No module named vgdl.core
Es scheint mir, dass ich diesen Fehler nicht bekommen sollte, weil ich diese PYTHONPATH
Umgebungsvariable eingerichtet habe?
Ausführen des interaktiven Python-Interpreters:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
quelle
Sie können auch wie folgt vorgehen:
export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}
pwd ist das aktuelle Arbeitsverzeichnis.
quelle
export PYTHONPATH=$PYTHONPATH:$(pwd)
PYTHONPATH
sollte zeigen, wo sich Ihre Python-Pakete und -Module befinden, nicht wo sich Ihre Kassen befinden. Mit anderen Worten, wenn Sie dies tunls "$PYTHONPATH"
, sollten Sie*.py
Dateien ( Python-Module ) und Verzeichnisse mit__init__.py
Dateien ( Python-Pakete ) sehen.Wenn Sie also in der Lage sein möchten, sollten
import vgdl
SiePYTHONPATH
so aussehen:denn das
vgdl
paket ist drinnenpy-vgdl
, nicht drinnenpython-files
.Um auch die anderen Pfade hinzuzufügen, können Sie sie wie folgt
:
trennen:Dies wird in der Tat funktionieren, für solche Fälle kann die Verwendung
PYTHONPATH
jedoch zu komplex sein. Was ich empfehle, ist zu verwendenvirtualenv
, das absichtlich gemacht wird, um Situationen wie Ihre zu vereinfachen. Was Sie tun müssen, ist im Grunde:virtualenv env
source env/bin/activate
pip
oder über dassetup.py
Skript Ihrer Pakete erfolgen.Ich gebe nicht viele Informationen, da virtualenv gut dokumentiert ist. Wenn Sie Hilfe bei etwas benötigen, sollten Sie eine neue Frage öffnen.
quelle