为什么我不能导入pygtk?

时间:2010-07-16 03:18:32

标签: python pygtk macports

我按照this post.所有安装成功的说明进行操作。但是,当我运行python时,我无法导入pygtk。具体来说,它说:

>>> import pygtk \n “ImportError: No module named pygtk”

我猜我必须做一些像make或者其他什么的命令,但我找不到它说什么做的任何地方。请帮忙,我感到非常沮丧。

编辑:我应该提一下我在Mac OS X上

6 个答案:

答案 0 :(得分:3)

你是如何运行python的?它是OSX(/ usr / bin / python)或MacPorts版本(/ opt / local / bin / python)附带的吗?

您链接的页面包含使用MacPorts安装pygtk的说明。所以它应该与python的安装一起运行。有关如何配置PATH变量以使用适当的python安装的帮助,请参阅MacPorts wiki

编辑:尝试显式运行macports python:“/ opt / local / bin / python”然后导入pygtk。另外,检查文件系统上的macports python site-packages目录,看看pygtk是否存在(通常类似于/opt/local/lib/python2.5/site-packages)。

答案 1 :(得分:1)

如果你从虚拟环境运行git mergetool,那么python解释器找不到pygtk。修复virtualenv的python路径或首先停用virtualenv。

答案 2 :(得分:1)

以下对我有用 - 假设您已安装HomeBrew

我正在尝试安装meld并收到同样的错误 - 这已经修复了

brew install python

答案 3 :(得分:1)

您可能已经单独安装了pip(而不是通过macports)。因此,您的软件包安装在macports安装的python无法读取的位置。例如,在我的OS X中,以下代码有效:

[user]$ /usr/bin/python
>>> import pip
>>> for package in pip.get_installed_distributions():
>>>     print package, package.location

但是如果我启动/ opt / local / bin / python(这是我的默认python)并说" import pip",那么它会给出一个importerror,指出没有名为pip的模块。

可能有两件事适合你:

1)使用macports安装pip,并将其设置为默认值(port install pip)。用这个点再次安装pygtk

2)使用/ usr / bin / python显式启动python,然后在那里编写代码。

可能有办法让/ opt python(来自macports)读取由非macports pip安装的模块,但我不知道。

答案 4 :(得分:0)

a> pip install pygtk - (windows only), 
b> brew install python

不确定原因,第一个选项是说它只适用于Windows。 以下对我来说很好。

答案 5 :(得分:0)

关于这个问题的一般观点,如果python抱怨找不到我知道存在的模块,这就是我所做的: (这是非常基本的东西,所以如果这是你在发布之前已经尝试过的东西,那么道歉......在这种情况下,我希望它对其他人有用)

1:转到python安装目录并确保模块实际存在(或者:弄清楚它到底在哪里 - 我有一些模块是项目的一部分,因此不在主目录中)。 ...有时这会发现模块实际上并没有安装,尽管看起来像是这样)

2:确保你写得正确(大写/小写字母很可能是令人沮丧的 - 导入语句需要反映模块的目录名称)

3:如果它不在python路径中,设置$ PYTHONPATH环境变量或在脚本开头放置类似的内容将有所帮助:

import sys
sys.path.append('\\path\\to_the_directory\\containing_themodule')

(需要双斜线才能确保它们不会被视为特殊字符) 在这个例子中,pytk将位于\ path \ to_the_directory \ containing_themodule \ pytk'。