似乎无法识别自定义代码模块

时间:2015-04-04 00:40:33

标签: python python-3.x

我在Win 7上使用WinPython 3.4.3.1 x64。我似乎无法使用自定义代码模块。它会引发错误:

ImportError:  No module named 'xxx'

我编辑了winpython.ini,为PYTHONPATH添加了适当的路径。我尝试过添加父文件夹和子文件夹。它看起来像:

PYTHONPATH = C:\Prog Data\Python Modules, C:\Prog Data\Python Modules\test1\mod1, C:\Prog Data\Python Modules\test2\mod2

我尝试通过执行以下方式验证路径:

import sys
print(sys.path)

我添加的所有路径都在前面(在空列表项之后)。

所以我不知道为什么这不起作用。

有什么想法吗?

编辑:为了澄清,每个模块文件夹中都有一个__init__.py文件。父文件夹没有,但这也是我添加特定模块文件夹的原因。

1 个答案:

答案 0 :(得分:0)

我终于找到了问题所在。问题不是明确记录的问题,因此我将把它放在遇到同样问题的任何人身上。

PYTHONPATH 中指定的路径必须比任何所需的包高一级。它不能是包本身的路径,NOR可以是包的深度超过一级的路径。

示例:

文件夹结构:

C:\ Code Data \ Python Data \ Package 1 \ __ init __。ini

C:\ Code Data \ Python Data \ Package 2 \ __ init __。ini

# These will NOT work:
PYTHONPATH = C:\Code Data
PYTHONPATH = C:\Code Data\Python Data\Package 1

# This WILL work:
PYTHONPATH = C:\Code Data\Python Data