Не удается загрузить модули Python, установленные через pip, из каталога site-packages

Я пытаюсь установить и использовать модуль Evernote (https://github.com/evernote/evernote-sdk-python). Я побежал!--3--> и он говорит, что установка работала.

Я могу подтвердить, что модуль evernote существует в /usr/local/lib/python2.7/site-packages. Однако, когда я пытаюсь запустить python -c "import evernote" я получаю следующую ошибку:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named evernote

это содержимое моего .bash-profile:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

# Setting PATH for Python 3.3
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}"
export PATH
export PATH=$PATH:/usr/local/bin/

у меня такая же проблема с другими модулями, установленными с pip. Помочь?

EDIT: я супер новичок и не редактировал это .

EDIT:python -c 'import sys; print "n".join(sys.path)' выводит следующее:

/Library/Python/2.7/site-packages/setuptools-1.3.2-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC
/Library/Python/2.7/site-packages

EDIT: я, казалось, сделал прогресс в направлении решения, добавив export PYTHONPATH=“/usr/local/lib/python2.7/site-packages” мой . Однако теперь, когда я бегу python -c 'from evernote.api.client import EvernoteClient' он пытается импортировать oauth2, который терпит неудачу с той же ошибкой. Модуль ouath2 присутствует в каталоге модуля.

5 ответов


/usr/bin/python является исполняемым файлом для python, который поставляется с OS X. /usr/local/lib - это место только для установленных пользователем программ, возможно, из Python.org или доморощенный. Таким образом, вы смешиваете разные установки Python, и изменение пути python является лишь частичным обходным путем для разных пакетов, устанавливаемых для разных установок.

для того, чтобы убедиться, что вы используете pip связанный с определенным python, вы можете запустить python -m pip install <pkg>, или пойти посмотреть на то, что pip на ваш путь является или символически связан.


Я все понял! Я добавил эту строку:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

мой .bash_profile и теперь я могу импортировать модули, хранящиеся в этом каталоге. Спасибо всем, кто ответил.


я столкнулся с аналогичной проблемой, связанной с /usr/local/lib / python2.7 / site-пакеты не имели разрешения на чтение или запись для группы и других, и они принадлежали root. Это означает, что только пользователь root доступ к ним.

попробуйте это:

$ sudo chmod -R go+rX /usr/local/lib/python2.7/site-packages

ничто из этого не помогло мне с моей подобной проблемой. Вместо этого мне пришлось исправить недавно установленные файлы разрешения чтобы иметь возможность импортировать. Обычно это очевидная вещь, но не так много, когда вы используете sudo при установке модуля/пакеты.


просто введите в терминале:

sudo pip install pillow

и типа import (все, что угодно) или введите from (как угодно) import (как угодно).