开发者

Why can't I import pygtk?

I followed the instructions in this post. Everything installed successfully. However, when I run python I cannot import pygtk. Specifically, it says this:

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

I'm guessing I have to do some commands like make or 开发者_StackOverflow社区something, but I can't find anywhere where it says what to do. Please help, I am getting very frustrated.

Edit: I should probably mention I'm on Mac OS X


How are you running python? Is it the one that comes with OSX (/usr/bin/python) or the MacPorts version (/opt/local/bin/python)?

The page you linked to has the instructions for installing pygtk under using MacPorts. So it should run with that installation of python. See the MacPorts wiki for help on how to configure your PATH variable to use the appropriate python installation.

EDIT: Try running the macports python explicitly: "/opt/local/bin/python" and then import pygtk. Also, check under the macports python site-packages directory on the filesystem to see if pygtk exists there (usually something like /opt/local/lib/python2.5/site-packages).


If you are running git mergetool from virtual environment, then python interpreter cannot find pygtk. fix your python path for virtualenv or deactivate virtualenv first.


Below worked for me - assumes you have HomeBrew installed

I was trying to install meld and was getting the same error - this fixed it

brew install python


It is likely that you've installed pip separately (rather than through macports). So, your packages are being installed in a location that is not readable by macports-installed python. For example, in my OS X, the following code works:

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

But if I start /opt/local/bin/python (which is my default python) and say "import pip", then it gives an importerror stating there is no module named pip.

There might be two things that work for you:

1) Install pip using macports, and set that as your default (port install pip). Install pygtk again with this pip

2) Launch python explicitly with /usr/bin/python, and write your codes there.

There may be a way to have the /opt python (from macports) read modules installed by non-macports pip, but I am not aware of it.


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

Not sure why, first options is saying its only works on windows. Below is working fine for me.


A very general view on the problem, this is what I do if python complains about not finding a module that I know exists: (This is very general rather basic stuff, so apologies if this is stuff that you already tried even before posting here... in that case I hope it'll be useful to someone else)

1: Go to the python installation directory and make sure the module is actually there (or: figure out where exactly it is -- I have some modules that are part of a project, and thus not in the main directory). ... sometimes this will uncover that the module is not actually installed although it looked like it was)

2: make sure you're writing it correct (capital/lowercase letters are a likely source of frustration -- the import statement needs to reflect the module's directory name)

3: if it isn't located in the python path, either setting the $PYTHONPATH environment variable or putting something like this at the beginning of your script will help:

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

(double slashes required to make sure they're not read as special characters) in this example, pytk would be in \path\to_the_directory\containing_themodule\pytk'.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜