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表明这是一个包。我在 examples 目录中也有一个__init__.py.bin
。
我不知道为什么Python在sys.path
中找不到这个文件。 有什么想法吗? 会不会是权限问题? 我需要一些执行权限吗?
根据你对orip'帖子的评论,我猜这就是所发生的事情。
1.你在windows上编辑了__init__.py
。
2.2.windows编辑器添加了一些非打印的东西,也许是一个回车键(Windows中的行末是CR/LF;unix中只有LF),或者是CTRL-Z(windows中的文件末)。
3.3. 你用WinSCP把文件复制到你的unix盒子里。
4.4.WinSCP认为:"这有一些东西不是基本的文本;我会放一个.bin扩展名,以表示二进制数据"。
5.缺少__init__.py
(现在叫__init__.py.bin
)意味着python不理解toolkit这个包。
6.6. 你在适当的目录下创建了__init__.py
,一切都能正常工作...?