我正在尝试使用扭曲库创建一个简单的 irc 客户端,并从导入相关模块开始:
from twisted.words.protocols import irc
显示此错误:
no module named words.protocols
我不太明白这个错误,因为我可以直接导入 tiwsted(它在我的 PATH 中),文件系统是这样的:
/usr/local/lib/python2.7/dist-packages/twisted/words/protocols/irc.py
words 和protocols 文件夹都包含一个__init__.py
文件,因此它们应该被解释为模块。
如果我更改 /usr/local/lib/python2.7/dist-packages/twisted/words/ 的目录并启动 python 解释器,则此命令运行时不会出错:
from protocols import irc
但是我的最终脚本在这个目录中没有任何关系:/
我不太明白为什么会出现此错误以及如何解决它。
非常感谢您的帮助
编辑
我将所有单词都放入/usr/local/lib
而不是经典文件夹中/usr/lib
,也许python是查看第二个文件夹而不是第一个文件夹。
我还不知道如何重载这种行为,并希望它不会归结为os.environ['PATH']
看起来很脏的覆盖。
EDIT2:/usr/local/lib 文件夹属于 PATH,如以下命令所示:
python -c "import sys; print [ i for i in sys.path if 'local' in i ]"
['/usr/local/lib/python2.7/dist-packages']
所以我还是不明白为什么这个狗屎不打算进口
编辑3
我猜这与脚本名称无关;从我的 debian 终端:
python -c "from twisted.words.protocols import irc"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named words.protocols