我的IDE(Aptana Studio)中运行的代码结构完全正常:
/ProjectName/
/lib
/src
/Module1
/Module2
/Module3
__init__.py
pyClass.py ##Python Class
/main
main.py
main.py:
import Module3.pyClass as pc
myClass=pc.pyClass()
但是当我尝试从命令行运行它时,导入错误!
importError: No module named Module3.pyClass
我从/ main目录运行。是因为它不知道在哪里可以找到要导入的Module3?我该怎么知道它应该在哪里寻找Module3?
谢谢。
答案 0 :(得分:10)
如果从src
目录运行main
目录,则src
目录不在python模块搜索路径中。您需要从src
目录运行脚本(包装脚本,或移动它)或将sys.path
目录添加到import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
。这可能就是你想要的。方法如下:
{{1}}
(如果您正在使用py2exe / py2app / cxfreeze等编译/冻结它,那么由于它的工作方式,您需要稍微不同的解决方案。)