我正在尝试实现TCP服务器并使用python脚本。所以我在桌面上创建了server.py
并导入了以下模块:
from twisted.internet.protocol import Factory,Protocol
此时已经失败了,因为如果我运行:python server.py
,我得到以下输出:
Traceback (most recent call last):
File "server.py", line 4, in <module>
from twisted.internet.protocol import Factory,Protocol
ImportError: No module named twisted.internet.protocol
我还使用sys.path
打印我的Python目录,我得到了这些输出:
['/Users/Alfred/Desktop',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
'/Library/Python/2.7/site-packages']
我的python设置出了什么问题?
是否因为我的帐户的特权?我在这台机器上以管理员身份登录。
答案 0 :(得分:3)
python -v -c 'import twisted.internet.protocol'
的输出可能会揭示问题。但是,作为第一项检查,请确保您没有名为“twisted.py”的文件。
答案 1 :(得分:3)
基于您的sys.path
,您已经从python.org安装了Python,或者编译了自己的Python,而不是使用预先安装了Twisted的内置Python。如果您安装自己的Python,则必须在该版本的Python中安装自己的Twisted版本。您可以使用pip
或easy_install
或直接从the Twisted site下载并运行setup.py
。
type -p python
会告诉您正在使用哪个版本;我怀疑它会在/usr/local/bin/
。
/usr/bin/python2.7 -c 'from twisted.internet.protocol import Factory,Protocol'
应该成功。如果没有,那么我不知道你对sytem Python安装做了什么:)。