Python 导入行为奇怪



我想在我的项目中使用完整的导入名称(请参阅此问题)。那里描述的问题已经解决,一切正常(编辑:如果脚本是用 execfile 启动的)在 eclipse 和 pydev 之外(在 Windows 上运行),在 Linux 上的 ccps(内置了 jython)。但是日食给了我以下错误:

from Project.gui import gui
ImportError: No module named gui

而我的项目结构包括以下内容(没有.py的所有内容都是一个文件夹):

Project
    __init__.py
    gui
        __init__.py
        gui.py
    Project.py

我启动 Project.Project.py 并收到上述错误。 print sys.path在关键进口产生之前:

['****\Root\Project', '****\Root', 
 *bunch of jars/jython libs*,
'__classpath__', '__pyclasspath__/']

我正在运行 eclipse 和 PyDev。

因为\Root\Project是路径中的第一个,所以它会首先查看项目文件夹内部,所以from Project.gui会看到Project.py,但随后抛出错误,因为没有 gui。

您可以在导入之前暂时放入sys.path.insert(0,"****\Root"),以检查是否是这种情况。但我会把****\Root\Project从你的PYTHON_PATH中带走。

然后你可以做

from Project import Project

from Project.gui import gui

相关内容

  • 没有找到相关文章

最新更新