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

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

Я могу подтвердить, что модуль 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: Я супер новичок и не редактировал этот файл .bash-profile.

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" в мой файл .bash_profile. Однако теперь, когда я запускаю python -c 'from evernote.api.client import EvernoteClient', он пытается импортировать oauth2, который терпит неудачу с той же ошибкой. Модуль ouath2 присутствует в каталоге модуля.

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

Попробуйте следующее:

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

Ответ 5

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

sudo pip install pillow

и введите import (что угодно) или введите from (что угодно) import (независимо от того, что вам нравится).