Почему я не могу импортировать pygtk? - PullRequest
2 голосов
/ 16 июля 2010

Я следовал инструкциям в этом посте. Все успешно установлено. Однако, когда я запускаю python, я не могу импортировать pygtk. В частности, это говорит об этом:

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

Полагаю, мне нужно выполнить некоторые команды, такие как make или что-то еще, но я не могу найти где-нибудь, где написано, что делать. Пожалуйста, помогите, я очень расстроен.

Редактировать: я должен упомянуть, что я на Mac OS X

Ответы [ 6 ]

3 голосов
/ 16 июля 2010

Как у вас работает Python? Это тот, который поставляется с OSX (/ usr / bin / python) или версией MacPorts (/ opt / local / bin / python)?

На странице, на которую вы ссылаетесь, содержатся инструкции по установке pygtk с использованием MacPorts. Так что он должен работать с этой установкой python. См. MacPorts wiki для получения справки о том, как настроить переменную PATH для использования соответствующей установки python.

РЕДАКТИРОВАТЬ: попробуйте явно запустить python macports: "/ opt / local / bin / python", а затем импортируйте pygtk. Также проверьте в директории macports python site-packages файловой системы, чтобы увидеть, существует ли pygtk там (обычно что-то вроде /opt/local/lib/python2.5/site-packages)

1 голос
/ 19 января 2015

Скорее всего, вы установили 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) Установите pip с помощью macports и установите его в качестве значения по умолчанию (port install pip). Снова установите pygtk с помощью этого пункта

2) Запустите python явно с / usr / bin / python и напишите свои коды там.

Возможно, есть способ установить модули чтения / opt python (из macports) с помощью модуля не-macports, но я не знаю об этом.

1 голос
/ 31 октября 2013

Ниже работал для меня - предполагает, что у вас есть HomeBrew установлен

Я пытался установить meld и получал ту же ошибку - это исправило

brew install python
1 голос
/ 17 сентября 2013

Если вы запускаете git mergetool из виртуальной среды, интерпретатор python не может найти pygtk.исправьте ваш путь к Python для virtualenv или сначала отключите virtualenv.

0 голосов
/ 19 января 2015

Очень общий взгляд на проблему, это то, что я делаю, если python жалуется на отсутствие модуля, который, как я знаю, существует: (Это очень общий, довольно простой материал, поэтому прошу прощения, если это тот материал, который вы уже пробовали даже раньшепубликуя здесь ... в этом случае я надеюсь, что это будет полезно для кого-то еще)

1: Перейдите в каталог установки python и убедитесь, что модуль действительно есть (или: выясните, где именно он находится- У меня есть некоторые модули, которые являются частью проекта, и, следовательно, не в главном каталоге).... иногда это обнаруживает, что модуль на самом деле не установлен, хотя выглядел так, как будто он был)

2: убедитесь, что вы пишете правильно (заглавные / строчные буквы являются вероятным источником разочарования -оператор import должен отражать имя каталога модуля)

3: если он не находится в пути python, то либо установка переменной окружения $ PYTHONPATH, либо помещение чего-то подобного в начало вашего скрипта поможет:

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

(в этом примере требуется двойная косая черта, чтобы убедиться, что они не читаются как специальные символы), pytk будет находиться в \ path \ to_the_directory \ Содержит_themodule \ pytk '.

0 голосов
/ 16 января 2015
a> pip install pygtk - (windows only), 
b> brew install python

Не уверен, почему, первый вариант говорит, что он работает только на Windows. Ниже работает нормально для меня.

...