Der einfachste Weg, ohne Änderungen an Ihrem Skript, ist das Setzen der Umgebungsvariablen PYTHONPATH. Denn sys.path wird von diesen Orten aus initialisiert:
- Das Verzeichnis, das das Eingabeskript enthält (oder das aktuelle Verzeichnis).
- PYTHONPATH (eine Liste von Verzeichnisnamen, mit der gleichen Syntax wie die Shell-Variable PATH).
- Der installationsabhängige Standard.
Laufen Sie einfach:
export PYTHONPATH=/absolute/path/to/your/module
Ihr sys.path enthält den oben genannten Pfad, wie unten gezeigt:
print sys.path
['', '/absolute/path/to/your/module', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
3 Stimmen
Sieht aus wie stackoverflow.com/questions/72852/ vielleicht?
3 Stimmen
Prüfen Sie meine Antwort, es ist die vollständigste bisher, andere funktionieren nicht in speziellen Fällen, zum Beispiel, wenn Sie das Skript aus einem anderen Verzeichnis oder aus einem anderen Python-Skript aufrufen. Siehe stackoverflow.com/questions/279237/
0 Stimmen
Ich hatte ein ähnliches Problem und ich fand dies und es funktioniert!! apt-get install python-profiler
5 Stimmen
Nur für den Fall, dass jemand es statisch machen will und hierher kommt (so wie ich :), kann man auch die Umgebungsvariable PYTHONPATH einrichten
0 Stimmen
Besser ist es, die Anweisungen in Lib/site.py für jeden Fall zu befolgen
0 Stimmen
Ist damit Ihre Frage beantwortet? Wie importiert man die Klasse innerhalb desselben Verzeichnisses oder Unterverzeichnisses?