我有由兩個包像這樣的項目:導入模塊不通過終端工作,而它的工作原理通過IDE
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
現在,在包中的文件有文件之間的一些進口:
file2_3.py:
3210當我從PyCharm運行file2_3.py直接,一切運行正常。但是,當我嘗試運行在終端腳本(我使用的是Windows 7):
D:\SVN Repo\MyProjectDir\Package2> python file2_3.py
或可替代
D:\SVN Repo\MyProjectDir> python ./Package2/file2_3.py
似乎Python不能看到我的包,我得到一個錯誤:
Traceback (most recent call last):
File "./Package2/file2_3.py", line 1, in <module>
from Package2.file2_1 import *
ImportError: No module named 'Package2'
是什麼原因?
編輯:如果在導入行我用from file2_1.py import *
不帶包名,IDE強調進口爲「未解決的參考包2」(雖然它可以運行),以及終端運作...
你可以在pycharm終端做一個'哪個python',並且在windows終端上做同樣的事情嗎?還檢查pycharm終端'導入sys'和'sys.path'和Windows終端相同,以檢查是否有任何區別 – lapinkoira