命令行模式下的Python导入问题

时间:2011-09-19 23:01:03

标签: python importerror

我的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?

谢谢。

1 个答案:

答案 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等编译/冻结它,那么由于它的工作方式,您需要稍微不同的解决方案。)