2016-03-29 5 views
4

Я использую Mac OS X 10.10. Я хочу использовать pip для установки пакетов для моей домашней версии установленной версии python (находится в /usr/local/bin/python, которая является псевдонимом, который указывает на /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin). Похоже, что сайт-пакеты для этой версии находятся здесь: /usr/local/lib/python2.7/site-packages/.pip установка в неправильную папку, хотя `which pip` правильный

which python возвращает /usr/local/bin/python

which pip возвращает /usr/local/bin/pip

Это кажется правильным для меня.

Пытаясь что-то вроде pip install pylzma возвращений:

Collecting pylzma 
Installing collected packages: pylzma 
Successfully installed pylzma 
You are using pip version 8.0.2, however version 8.1.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

Но pip list не показывает pylzma быть установлен. Похоже, что pip устанавливает пакеты на /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (питон, который поставляется с Mac OS X).

Как я могу получить pip для установки на мой питомник с домашним питомцем?

Я пытался несколько предложений от подобных вопросов:

  1. Я попытался export PATH=/usr/local/bin/python:${PATH}.
  2. Я пробовал pip install --install-option="--prefix=/usr/local/lib/python2.7" pylzma.
  3. Я попытался изменить первую строку исполняемого скрипта на #!/usr/local/bin/python
  4. Я пробовал /usr/local/bin/python -m pip install pylzma.

Но ни одна из этих работ не работает. Я также попробовал обновить pip до 8.1.1, но это полностью перепутало pip. Люди рекомендуют использовать virtualenv, но, насколько я знаю, я не могу установить это без пипса.

Когда я типа python -m pip, он говорит:

Usage: 
/usr/local/opt/python/bin/python2.7 -m pip <command> [options] 

Может ли это быть проблема?

+1

«Я пробовал/usr/local/bin/python -m pip install pylzma.». Но до этого вы удалили установку в '/ Library/...'. В противном случае это может помешать. – Evert

+1

Также проверьте, что '/ usr/local/lib/python2.7/site-packages' существует, или же вещи устанавливаются в'/usr/local/opt/python/lib/python2.7/site-packages' вместо этого. Иногда Homebrew не создает символическую ссылку из '/ usr/local/opt/python /' на '/ usr/local /'. – Evert

+0

@Evert, я читал, что не рекомендуется удалять установку python для Mac OS X в '/ Library/...'. – litturt

ответ

2

Мой вопрос заключается в том, что мой /Users/<username>/.pydistutils.cfg содержал следующее:

[easy_install] 

# set the default location to install packages 
install_dir = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 

[install] 
install_lib = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 
install_scripts = ~/bin 

Я изменил это:

[easy_install] 
# set the default location to install packages 
install_dir = /usr/local/lib/python2.7/site-packages 

[install] 
install_lib = /usr/local/lib/python2.7/site-packages 
install_scripts = ~/bin 

Это, казалось, работали. pip install теперь устанавливает пакеты в нужное место /usr/local/lib/python2.7/site-packages.

Однако у меня есть проблемы с постоянным путём.

import pylzma все еще дает мне ImportError: No module named pylzma.

и работает jupyter notebook в терминале дает -bash: jupyter: command not found. /Users/<username>/bin/jupyter notebook выполняет, но я получаю ImportError: No module named markupsafe, несмотря на то, что /usr/local/lib/python2.7/site-packages/MarkupSafe-0.23.dist-info существует.

EDIT: В конце концов, я получил ноутбук jupyter. Мне пришлось установить сразу несколько пакетов из исходных tarballs, включая MarkupSafe, functools32 и jsonschema. Возможно, Python не ищет правильную папку или что-то в этом роде.

+0

Почти все пакеты устанавливаются в виде пар каталогов, например. .../MarkupSafe-0.23-py2.7.egg-info/и .../site-packages/markupsafe /. У вас есть оба? Если нет, найдите каталог markupsafe в другом месте, например. 'cd .../site-packages; du | egrep markupsafe'. – denis

Смежные вопросы