2

我正在使用 Python 中的 Twisted 开发“类似聊天”的服务器。但是我遇到了问题。在我的 Mac 的主管理员帐户上,Twisted 工作正常。但是当我进入一个单独的管理员帐户时,我被抛出了......

Traceback (most recent call last):
  File "/Users/Alec/Desktop/server.py", line 1, in <module>
    from twisted.internet.protocol import Protocol, Factory
ImportError: No module named twisted.internet.protocol

它在另一个帐户上工作正常,但这个新的管理员帐户不起作用。我正在努力让我的项目继续进行,但这让我陷入了停顿。

谢谢!

4

2 回答 2

1

我只能猜测您的设置有什么问题,因为您没有提供太多信息。但是,原因一定与您调用的方式python有关,因为 OS X 上的默认 python 已安装 Twisted(您可能已经注意到)。

  • 您的管理用户是否有自编译的 Python?
  • 您的管理用户是否正在使用virtualenv,或任何其他可以删除的环境管理工具site-packages
  • 您的管理用户是否从 python.org 安装了 Python?(这与内置系统 Python 不完全兼容,并且会有不同的包可用。)

如果type -p python在 shell 中没有 print /usr/bin/python,那么很可能是其中一种情况,但修复它(换句话说,取消所做的任何事情)取决于这些选项中的哪一个更改了您的默认 Python。

于 2012-04-12T19:08:49.073 回答
0

您可能想检查sys.path两个用户的(模块搜索路径)是否相同。

>>> import sys
>>> sys.path

可能有一个用户特定的PYTHONPATH环境变量会改变两个用户之一的行为,尽管我不确定它是否真的会破坏导入。

于 2012-04-12T06:35:40.320 回答