Python Twisted不适用于所有用户?

Python Twisted不适用于所有用户?,python,twisted,Python,Twisted,我正在使用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, Facto

我正在使用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
回溯(最近一次呼叫最后一次):
文件“/Users/Alec/Desktop/server.py”,第1行,在
来自twisted.internet.protocol导入协议,工厂
ImportError:没有名为twisted.internet.protocol的模块
它在另一个帐户上工作正常,但是这个新的管理员帐户不工作。我正在努力让我的项目进行下去,但这让我停滞不前


谢谢

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

>>> import sys
>>> sys.path

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

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

  • 您的管理用户是否有自编译的Python
  • 您的管理用户是否正在使用
    virtualenv
    ,或任何其他将删除
    站点包的环境管理工具
  • 您的管理用户是否从Python.org安装了Python?(这与内置系统Python不完全兼容,将提供不同的包。)

如果shell中的
type-p python
没有打印
/usr/bin/python
,那么其中一个很可能是这样的,但是修复它(换句话说,不做任何已经做过的事情)取决于这些选项中的哪一个改变了您的默认python。

您是否验证了
sys.path
对两个用户是否相同?@icecrime No,你是怎么做到的?
>>导入sys
>>“\n.join(sys.path)
>>导入sys
>>sys.path
哇,它们都不一样。有效的一个显示正确的目录,而另一个显示开始/opt/local/library,这可以很好地解释导入错误。请参见坏的一面,我的python脚本在我的桌面上,好的一面在桌面上的一个文件夹中。从文档中可以看出:“在程序启动时初始化时,此列表的第一项,
path[0]
,是包含用于调用python解释器的脚本的目录。如果脚本目录不可用(例如,如果以交互方式调用解释器或从标准输入读取脚本),
path[0]
是空字符串,它指示Python首先搜索当前目录中的模块。”根据你提供的信息,我真的帮不了你更多。我一点也不清楚。我想我会弄明白的。谢谢。