这是我的项目结构:
/project
| /package
| | __init__.py
| | module1.py
| | module2.py
| main.py
在main.py
中,我导入module1.py
。在module1.py
中,我导入module2.py
:
from package import module2
#do something
我运行python main.py
好的。但是,当我运行python module1.py
(package
}内部或python /package/module1.py
(project
内部)时,我得到了ImportError
:
Traceback (most recent call last):
File "package/module1.py", line 5, in <module>
from package import engine
ImportError: No module named 'package'
当我在PyCharm中运行module1.py
时,没关系。
所以,我的问题是:如何在没有module1.py
的情况下运行文件main.py
?
谢谢。
答案 0 :(得分:2)
Sol 1:当您使用from package import module2
时,python不知道在哪里查找包,除非将其添加到路径中。您可以将其作为
PYTHONPATH=/path/to/project python module1.py
Sol 2:如果 module1.py 且 module2.py 位于同一文件夹中,则无需使用{{ 1}}。
只需使用from package import module2
即可。现在运行module1.py会有效。
Sol 3:如果您坚持使用import module2
。你不能在你的脚本中附加路径包
from package import module2