Ich weiß, es gibt eine Tonne von Fragen zu diesem Thema gewesen, aber ich ist ziemlich spezifisch und ich weiß nicht wirklich, warum der Import nicht funktioniert. Ich habe die folgende Ordnerstruktur bekommt:Python Import Error - spezifischer Fall
importmodule
-classes
-pluginhelper
-- __init__.py
-plugins
-- plugin_a
-- plugin b
-- ..
-__init__.py
-<other py files>
In meinen Plugin-Dateien i die pluginhelper wie dies am Import:
from importmodule.pluginhelper import function1, function2, ...
Die Funktionen in dem definierten __ init
__.pyDas Ausführen meiner Plugin-Dateien funktioniert auf meinem Windows-Rechner. Wenn ich es auf dem Server zu tun, erhalte ich Ausnahme folgenden:
ImportError: No module named 'importmodule'
Das Merkwürdige ist, dass ich von jeder Plugin den Fehler machen, aber ein. In einem der Plugins funktioniert der Import, während es bei den Importanweisungen keine Unterschiede gibt.
Ich verwende Python 3.5 auf beiden Maschinen, während auf dem Server meiner Anwendung innerhalb eines Docker Behälter ist.
Edit: Einstellen der sys.path hat nicht funktioniert entweder:
print("Indexed Path for Package.")
sys.path.index(os.getcwd())
fand ich das mögliche Problem: Die Ordnerstruktur in meinem dockercontainer anders zu sein scheint. Ich werde es reparieren und Ihnen sagen, ob es geholfen hat. Noch verstehe ich nicht, warum es mit dem gleichen Plugin funktioniert, das dieselbe Anweisung verwendet.
Haben Sie versucht 'von pluginhelper import function1, function2, ...'? –
PyCharm ist mir diese eine sofort hervorgehoben, da es importmodule.plugins.plugina.plugina.pluginhelper zu suchen in scheint – PhilipB
ich sehe, dann versuchen Sie das Hinzufügen '__init __. Py' in Ihrem' plugins' Ordner Python sie als machen behandeln Modul. –