Python 安装在本地目录中。
我的目录树如下所示:
(local directory)/site-packages/toolkit/interface.py
我的代码在这里:
(local directory)/site-packages/toolkit/examples/mountain.py
为了运行示例,我编写了 python mountain.py
,在我拥有的代码中:
from toolkit.interface import interface
我得到了错误:
Traceback (most recent call last):
File "mountain.py", line 28, in ?
from toolkit.interface import interface
ImportError: No module named toolkit.interface
我已经检查了 sys.path
并且那里有目录 /site-packages
。此外,我在工具包文件夹中有文件 __init__.py.bin
向 Python 表明这是一个包。我在示例目录中也有一个 __init__.py.bin
。
不知道为什么 Python 在 sys.path
中找不到文件。有任何想法吗?会不会是权限问题?我需要一些执行权限吗?
最佳答案
根据您对 orip 帖子的评论,我猜是这样的:
- 您在 Windows 上编辑了
__init__.py
。 - Windows 编辑器添加了一些非打印内容,可能是回车符(Windows 中的行尾为 CR/LF;在 unix 中仅为 LF),或者可能是 CTRL-Z(Windows 中的行尾文件)。
- 您使用 WinSCP 将文件复制到您的 unix 机器。
- WinSCP 想:“这有一些不是基本文本的东西;我会放一个 .bin 扩展名来表示二进制数据。”
- 缺少的
__init__.py
(现在称为__init__.py.bin
)意味着 python 不将工具包理解为一个包。 - 您在适当的目录中创建
__init__.py
并且一切正常...?
关于Python 错误 "ImportError: No module named",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338768/