Когда модуль python (cairo) установлен успешно, но не может импортироваться в python, в чем проблема?

Когда модуль python установлен успешно, но не может импортироваться в python (через PyCharm IDE), в чем проблема? Какой контрольный список следует использовать для диагностики проблемы в этом случае и в будущем, когда модуль будет установлен, но позже не будет импортирован?

В этом конкретном случае я установил векторный графический модуль для Python, называемый cairo . http://cairographics.org/releases/pycairo-1.8.8.tar.gz

См. Успешную установку ниже:

sudo python setup.py install cairo >= 1.8.8 detected creating pycairo.pc creating src/config.h running install running build running build_ext running install_lib creating /Library/Python/2.7/site-packages/cairo copying build/lib.macosx-10.9-intel-2.7/cairo/_cairo.so -> /Library/Python/2.7/site-packages/cairo running install_data creating /System/Library/Frameworks/Python.framework/Versions/2.7/include/pycairo copying src/pycairo.h -> /System/Library/Frameworks/Python.framework/Versions/2.7/include/pycairo copying pycairo.pc -> /System/Library/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig running install_egg_info Writing /Library/Python/2.7/site-packages/pycairo-1.8.8-py2.7.egg-info 

Все, казалось, продолжалось гладко, но позже этот модуль не смог импортировать, когда ImportError: No module named cairo в Python: ImportError: No module named cairo .

Одна из возможностей заключается в том, что он был установлен в неправильном каталоге – /Library/Python/2.7/site-packages/ . Другая возможность заключается в том, что я должен как-то явно указывать расположение модуля на python. т.е.: /Library/Python/2.7/site-packages/cairo , на основе вывода скрипта установки, найденного выше.

Это довольно странно, потому что cairo присутствует в /Library/Python/2.7/site-packages/ , и я могу импортировать другие библиотеки, такие как PIL, найденные в том же каталоге.

введите описание изображения здесь

Основываясь на предложении aIKID, я попытался использовать pip для установки установленных пакетов. Из этого я получил длинный список, включая модуль под названием pycairo. Я попытался импортировать как pycairo, так и cairo и все еще получил ошибку импорта. Интересно, что «cairo» находится в /Library/Python/2.7/site-packages/cairo , но «pycairo» найден после вызова pip.get_installed_distributions() . Кажется, что распределение называется pycairo, а модуль называется cairo. импорт cairo должен работать, но в любом случае оба импорта терпят неудачу.

введите описание изображения здесь

Основываясь на предложении Кристофера, я проверил каталог /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ и не нашел cairo. Точно так же я не нашел PIL (библиотека изображений python). Я все еще могу импортировать PIL, который находится в /Library/Python/2.7/site-packages/ , вместе с cairo.

 Python 2.7.5 (default, Aug 25 2013, 00:04:04) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import PIL, cairo Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named cairo 

One Solution collect form web for “Когда модуль python (cairo) установлен успешно, но не может импортироваться в python, в чем проблема?”

Вы можете запустить интерактивный режим python и просто выполнить следующие шаги, чтобы подтвердить свои пути к lib:

 Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.path <module 'posixpath' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc'> 

Как вы можете видеть, путь в моей системе – /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ .

У вас может быть несколько версий python, но вы можете подтвердить, какой из них вы используете, делая это.

  • Стиль кодирования (PEP8) - Уровень модуля "dunders"
  • Явное объявление переменной как неиспользуемой в Python / PyCharm
  • Отладка кода python в pycharm
  • Есть ли разница между использованием литерала dict и конструктора dict?
  • Сделать pycharm использовать реальную консоль ipython
  • КАК использовать Pycharm для отладки скрипта python?
  • Настроить параметры командной строки pep8.py в pycharm
  • Как вы копируете и вставляете в Pycharm?
  •  
    Interesting Posts for Van-Lav

    Запуск JSON через eval () Python?

    Форматирование времени Python в Windows

    Обновление данных контекста в FormView form_valid?

    Является ли Python слабо типизированным языком, поскольку переменные могут переключать типы?

    В Python, как следует извлекать второе имя каталога в пути?

    Сравнение плагина IntelliJ Python или PyCharm

    ndb.StructuredProperty не вызывает методы подкласса ndb.PolyModel

    Команда "py.test" против "pytest"

    В Python, какой самый быстрый алгоритм для удаления дубликатов из списка, чтобы все элементы были уникальными * при сохранении порядка *?

    Python конденсируется, если / else в одну строку?

    генерирование уравнений png-файлов на основе математического ввода

    Django: перенаправление на ту же страницу после метода POST с использованием представлений на основе классов

    Python BeautifulSoup Извлечь определенные URL-адреса

    Как установить PhantomJS для использования с Python Selenium на малиновом Pi?

    Как я могу определить, когда кнопка выпущена в Tkinter?

    Python - лучший язык программирования в мире.