ich ein Projekte bestehend aus zwei Paketen wie folgt aus:Import-Modul nicht durch Terminal arbeiten, während es IDE funktioniert durch
MyProjectDir
-Package1
--__init__.py
--file1_1.py
--file1_2.py
--file1_3.py
-Package2
--__init__.py
--file2_1.py
--file2_2.py
--file2_3.py
nun in den Paketen die Dateien einige Importe zwischen Dateien haben:
file2_3.py:
from Package2.file2_1 import *
run_some_code()
Als ich file2_3.py direkt von PyCharm laufen, läuft alles ok. Aber wenn ich versuche, das Skript im Terminal zu laufen (ich arbeite Windows 7):
D:\SVN Repo\MyProjectDir\Package2> python file2_3.py
oder alternativ
D:\SVN Repo\MyProjectDir> python ./Package2/file2_3.py
Es scheint Python kann nicht meine Pakete sehen, und ich bekomme eine Fehler:
Traceback (most recent call last):
File "./Package2/file2_3.py", line 1, in <module>
from Package2.file2_1 import *
ImportError: No module named 'Package2'
Was ist der Grund?
EDIT: Wenn in der Import Linie I from file2_1.py import *
ohne Paketnamen verwenden, unterstreicht die IDE den Import als "Ungelöste Referenz Package2" (obwohl es laufen kann), und das Terminal funktioniert ...
Können Sie eine 'which python' in pycharm Terminal und das gleiche in Windows-Terminal? auch check in pycharm terminal 'import sys' und 'sys.path' und das selbe in windows-terminal um zu prüfen, ob es irgendwelche unterschiede gibt – lapinkoira