在尝试解决程序包管理问题here时,我了解到我可能在使用PYTHONPATH
访问site-packages目录之外的程序包时遇到问题。
当所述目录不在python site-packages目录中时,尝试从其版本化目录文件夹名称(即wxPython
)导入包中的模块(例如wx-2.8-msw-unicode
)时收到导入错误
重新创建问题:在python目录之外创建一个目录,比如C:\foo
。下载wxPython
,并将其放在该目录中(提供C:\foo\wx-2.8-msw-unicode
)。如果你愿意,可以添加更多将目录C:\foo
添加到PYTHONPATH
环境变量中。打开一个新的python交互式shell并运行
import sys
for i in sys.paths:
print i
验证路径是否在那里(它是),然后
import wx
我收到导入错误。我究竟做错了什么?这种行为是否正确?
答案 0 :(得分:0)
据我了解你所说的,这是预期的行为。 C:\foo
位于Pythonpath中,但它不包含可导入的wx模块。要使import wx
成功,必须直接在Python路径的其中一个目录中找到wx.(py/pyc/pyd/dll/so)
或包含文件wx
的目录__init__.py
之一。
安装程序通常会进行排序,确保它位于可导入的位置。如果您想自己动手,则必须确保wx
最终位于可导入的位置。