导入错误:找不到名为twisted的模块。

9

我是一名新手,对Python和Twisted并不熟悉,我尝试运行一个简单的Twisted脚本但失败了。

我的环境:

MacOS 10.7.2 + Python 2.7.1 + Twisted 11.0.0 + Eclipse + PyDev

脚本名为test.py:

from twisted import reactor
reactor.run()

我尝试在终端运行它,一切都正常。

然后我打开了eclipse并创建了一个新的PyDev项目,然后添加了一个名为test.py的py文件,并键入了上面的代码。

当我尝试运行它时,我收到了如下错误:

Traceback (most recent call last):
File "/Users/user/Documents/workspace/TwistedDemo/test.py", line 2, in <module>
from twisted import reactor
ImportError: No module named twisted

然后我检查了PYTHONPATH,并在外部库选项卡中添加了“twisted源文件夹”,但错误仍然存在(没有改变)。

希望有人能够在这里帮助我,提前感谢:)


2
你确定你添加的是包含名为“twisted”的文件夹的文件夹,而不是该文件夹本身吗? - Gustav Larsson
5个回答

4

这里有几个尝试的方法 -

  1. 由于您的环境是Mac OSX。我从Xcode安装了commandline工具来解决这个问题。Xcode 4.4及更高版本安装Command Line Tools

  2. 为了完整起见。如果这是在Ubuntu上,则apt-get install python-twisted通常有效。

  3. 从您的eclipse将以下内容放入您的python脚本中 -

    python -c 'import sys;print sys.path'

    这会告诉您当您import something时,python查找的所有路径。如果您在那里找不到twisted路径,请像这样添加它 - sys.path.append(twisted_dir_path)

  4. 最后,如果以上所有方法都无法帮助。在shell中输入type -p python会告诉您正在使用哪个版本;我大多数情况下是/usr/bin/或其某个变体。

    然后/usr/bin/python2.7 -c 'from twisted.internet.protocol import Factory,Protocol'应该会成功。


1
更新Xcode对我很有帮助 :) 谢谢!附注:记得在更新/安装后重新启动终端选项卡。 - Ole Henrik Skogstrøm

3
这种情况我遇到过很多次,但之前我已经找出了解决方法。基本上,如果你在Mac上安装了太多版本的Python,Aptana Studio就会因为某些原因而感到困惑,所以请确保你的twisted安装使用与命令行相同的python(即使你已经将twisted添加到了Aptana中)。稍后我会详细说明更多具体信息。
好的,我认为这是正确的做法:
1. 获取正确安装了twisted的Python的路径,使用以下代码: ``` import sys print sys.path ``` 然后只需获取基本路径,不需要过于具体。
2. 进入“ Aptana-preferences-PyDev-Interpreter-Python”设置页面。
3. 添加一个新的解释器(在我的情况下,我只是称其为“ python1”并将其设置为第一个解释器)。如果这样不起作用,则在其下方设置一个新的PYTHONPATH。

嗨,我安装了太多的Python。因此,我遇到了“分段错误11”的错误。有什么解决方法吗? - OMGPOP
@OMGPOP 这是一段时间之前的事情,但让我尝试在我的回答中描述解决方案。请给我几个小时,我现在不在电脑旁边。 - user1786283
分段错误:11 - OMGPOP

3

您需要在安装Twisted之前先安装incremental。

pip install --upgrade incremental
pip install Twisted

这应该解决问题。

1

您需要按照以下步骤在Eclipse中设置正确的PYTHONPATH:

  1. 右键单击您的项目。
  2. 选择属性
  3. 选择pyDev-PYTHONPATH
  4. 外部库中添加您的twised

1

不确定您是如何安装twisted的,您尝试过使用easy_install或pip安装吗?还是手动安装的?

如果您想确保它已经正确安装,可以打开终端,输入python,然后输入“import twisted”。如果没有错误返回,则表示已安装。您可能需要设置PYTHONPATH变量以包括源文件夹。

然后,由于您在eclipse中使用pydev,每次添加新库时都需要刷新配置。

在Mac上,这在首选项 -> PyDev -> Interpreter-Python下进行。

我发现最好删除我的配置并重新添加它,以便它能够获取所有内容。但是,您可以单击新文件夹(选择带有init.py的文件夹)或新的egg,如果它是一个easy_install egg(.egg文件是一个zip文件,如果未解压缩,您将在要选择的文件夹的子目录中看到一个EGG-INFO文件夹)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接