无法在山狮上导入twisted.internet.protocol模块

时间:2012-12-14 10:34:25

标签: python tcp twisted osx-mountain-lion

我正在尝试实现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设置出了什么问题?

是否因为我的帐户的特权?我在这台机器上以管理员身份登录。

2 个答案:

答案 0 :(得分:3)

python -v -c 'import twisted.internet.protocol'的输出可能会揭示问题。但是,作为第一项检查,请确保您没有名为“twisted.py”的文件。

答案 1 :(得分:3)

基于您的sys.path,您已经从python.org安装了Python,或者编译了自己的Python,而不是使用预先安装了Twisted的内置Python。如果您安装自己的Python,则必须在该版本的Python中安装自己的Twisted版本。您可以使用pipeasy_install或直接从the Twisted site下载并运行setup.py

shell中的

type -p python会告诉您正在使用哪个版本;我怀疑它会在/usr/local/bin/

/usr/bin/python2.7 -c 'from twisted.internet.protocol import Factory,Protocol'应该成功。如果没有,那么我不知道你对sytem Python安装做了什么:)。