3

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

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

4

2 回答 2

3

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

于 2012-12-14T16:05:40.773 回答
3

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

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

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

于 2012-12-14T20:15:01.453 回答