我得到下面的錯誤/ SMPP /測試/ test_post_upgrade.py:無法導入扭曲的互聯網模塊
Traceback (most recent call last):
File "protocols/smpp/test/test_post_upgrade.py", line 1, in <module>
from protocols.smpp.proto import *
File "/tmp/Wass/protocols/smpp/proto.py", line 1, in <module>
from twisted.internet import defer, reactor
ImportError: No module named internet
這裏是我的樹:
/tmp/Wass$ tree
.
├── __init__.py
└── protocols
├── __init__.py
├── __init__.pyc
└── smpp
├── __init__.py
├── __init__.pyc
├── proto.py
├── proto.pyc
└── test
├── __init__.py
└── test_post_upgrade.py
3 directories, 10 files
這裏的主要內容文件:
/tmp/Wass$ cat protocols/smpp/proto.py
from twisted.internet import defer, reactor
/tmp/Wass$ cat protocols/smpp/test/test_post_upgrade.py
from protocols.smpp.proto import *
/tmp/Wass$ cat protocols/smpp/__init__.py
__import__('pkg_resources').declare_namespace(__name__)
有關信息,我可以通過以下操作之一來解決此問題:
- 清空
protocols/smpp/__init__.py
,但是這是整個項目這樣我就可以空這個文件,我的項目將不再運行有用.. - 重命名
protocols/smpp
到別的,例如protocols/toto
將工作(有變化protocols/smpp/test/test_post_upgrade.py
到from protocols.toto.proto import *
第二種解決方案是如此混亂的我沒有在我的系統中的任何smpp/proto.py
,可能會導致衝突......
這裏的問題進行簡單的表示:
Wass/
Wass/__init__.py
Wass/protocols/
Wass/protocols/smpp/
Wass/protocols/smpp/__init__.py
Wass/protocols/smpp/test/
Wass/protocols/smpp/test/__init__.py
Wass/protocols/__init__.py
Wass/protocols/smpp/test/test_post_upgrade.py:
> from Wass.protocols.smpp.proto import SMPPClientProtocol
Wass/protocols/smpp/proto.py
> from twisted.internet import defer, reactor
>
> class SMPPClientProtocol:
> pass
執行結果:
$ echo $PYTHONPATH
:/opt/smpp.twisted/:/opt/smpp.pdu/:/tmp/Wass/
python /tmp/Wass/protocols/smpp/test/test_post_upgrade.py
> Returns the same problem above
「python -c'import twisted; print twisted .__ file__'」的輸出是什麼? – 2012-01-10 13:39:18