ich einen solchen Baum haben:Python Importe funktioniert nicht
package/
subpackage1/
__init__.py
impl/
__init__.py
moduleA.py
moduleA_test.py
subpackage2/
__init__.py
impl/
__init__.py
moduleB.py
In moduleA.py
Ich habe diesen Code:
from subpackage2.impl.moduleB import func_abc
Modul moduleA_test.py
nur moduleA
und testet seine Funktionen importiert. Wenn im Terminal, wenn ich im Ordner package
bin und python
und dann from subpackage1.impl import moduleA
laufen, funktioniert es normal.
Aber wenn ich python submodule1/impl/moduleA_test.py
(immer noch in package
Ordner) laufen, löst der Code einen Fehler auf der Linie des Imports, die ich oben schrieb. Ich bekomme ImportError: No module named subpackage2.impl.moduleB
.
Ich habe es auch mit python -m submodule1.impl.moduleA_test.py
versucht, aber ohne Glück.
Von welchem Verzeichnis aus führen Sie den Code aus? Wenn es in "Paket" ist, dann denke ich nicht, dass Sie irgendwelche Probleme haben sollten. –
Python sucht standardmäßig im * aktuellen Verzeichnis * - Sie müssen entweder an 'sys.path' anhängen oder die Umgebungsvariable' PYTHONPATH' verwenden. https://docs.python.org/2/tutorial/modules.html 6.1.2 – cdarke
Ja, es ist in 'Paket'. Ich habe die Frage aktualisiert – thecoparyew