ImportError: No module named <irgendwas>
Ich weiß, diese Frage wurde gebeten, mehrmals. Ich habe gelesen, durch alle von Ihnen, aber konnte Sie nicht lösen, mein Problem.Das folgende ist meine directory-Struktur.
ankur
--ankur1
__init__.py
util.py
--ankur2
main.py
--__init__.py
In der main.py ich bin den Import folgender.
import ankur.ankur1.util
Wenn ich den code auszuführen in windows, es funktioniert einwandfrei. Aber in Linux bekomme ich folgende Fehlermeldung.
ImportError: No module named ankur.ankur1.util
Lese ich auch die offizielle python - doc auf Module und Pakete.
Haben Sie installiert das Paket in die Umwelt?
Danke für die Antwort. Ich habe es nicht erhalten. Wir müssen es separat installieren. In meinem windows-env funktioniert es einwandfrei.
Ich glaube, dass es wahrscheinlich nur eine Frage der
Vielen Dank. Das war das Problem. Aber wie können wir so konfigurieren, dass es automatisch installieren. Ich möchten, dass Benutzer den code herunterladen und starten Sie es und konfigurieren Sie den PYTHONPATH.
erstellen Sie eine
Danke für die Antwort. Ich habe es nicht erhalten. Wir müssen es separat installieren. In meinem windows-env funktioniert es einwandfrei.
Ich glaube, dass es wahrscheinlich nur eine Frage der
PYTHONPATH
Problem, das ist korrekt konfiguriert auf windows und nicht auf linux, fügen Sie die code-Basis auf den Pfad, oder installieren Sie es so, dass es automatisch sucht sich tot er WegVielen Dank. Das war das Problem. Aber wie können wir so konfigurieren, dass es automatisch installieren. Ich möchten, dass Benutzer den code herunterladen und starten Sie es und konfigurieren Sie den PYTHONPATH.
erstellen Sie eine
setup.py
Benutzer werden in der Lage sein, um das Paket zu installieren mit python setup.py install
Blick in das schreiben ein richtiges setupInformationsquelleAutor Ankur Bhatia | 2017-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre package-Struktur ist OK. Ihre import-Anweisung ist OK. Das einzige, was fehlt, ist das Paket sichtbar in
sys.path
.In der Regel tun wir dies mit einem
setup.py
durch "installieren" das Paket lokal, aber Ihr Projekt nicht angezeigt wird, um einesetup.py
. Nicht ändernsys.path
direkt in den code. Sie können stattdessen diePYTHONPATH
Umgebungsvariable. In Ihrer shell ein:Wo parent-Verzeichnis mit
ankur
Unterverzeichnis.sys.path
im code? Dieses hoch von Ihnen positiv bewertet werden Antwort direkt ändert den python-Pfad von dem Programm.Es ist chaotisch, in der Regel unnötig, und es ist nicht die Skalierung gut. Jeder Eintrag in
sys.path
gesucht wird auf jeden import-Anweisung. Also, wenn jede Bibliothek installiert hat beschlossen, zum einfügen insys.path
, statt nur die Installation in das site-packages-dir-wie gewohnt, dann das import-system wird langsam und schwerfällig. Sogar ein Kommentar von der Beantworter warnt, ist dies keine gute Lösung. Vermeiden Sie einfügensys.path
es sei denn, Sie wirklich brauchen, eine location gesucht werden, bevor die site-packages.InformationsquelleAutor wim