pip не работает при установке hombrew python 2.7

pip не работает при установке hombrew python 2.7

Я установил python с помощью homebrew и не могу вызвать pip из bash. Я пробовал изменить свой .bash_profile, включив /usr/local/bin/python и /usr local/share/python, но безрезультатно.

Когда я использую команду bash:

find / -name 'pip'

Единственные результаты, которые я получаю:

/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip

Ни один из них не является исполняемым файлом.

Я не знаю, куда направить $PATH, так как не могу найти исполняемый файл pip. Когда я открываю

/usr/local/lib/python2.7/site-packages/pip

или

/usr/local/Cellar/python/2.7.9/libexec/pip/pip

Я нахожу следующие файлы:

__init__.py         commands            operations
__init__.pyc        compat              pep425tags.py
__main__.py         download.py         pep425tags.pyc
__main__.pyc        download.pyc        req
_vendor             exceptions.py       status_codes.py
basecommand.py      exceptions.pyc      status_codes.pyc
basecommand.pyc     index.py            utils
baseparser.py       index.pyc           vcs
baseparser.pyc      locations.py        wheel.py
cmdoptions.py       locations.pyc       wheel.pyc
cmdoptions.pyc      models

Ни один из них не является исполняемым файлом.

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

Редактировать: Я попробовал шаги, предложенные Марко:

Вот результаты по шагам:

  1. echo $PATH показывает несколько каталогов: /usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/opt/X11/bin:/usr/local/mysql/bin

  2. что -a python возвращает: /usr/local/bin/python /usr/local/bin/python

ничего не возвращается, для чего -a pip

  1. что возвращает python: /usr/local/bin/python

ничего не возвращается для какого пункта

  1. ls -l $(which python) возвращает один каталог: lrwxr-xr-x 1 Иван админ 33 17 мая 08:59 /usr/local/bin/python -> ../Cellar/python/2.7.9/bin/python

ls -l $(which pip) возвращает несколько, включая файлы Python, которые я показал в своем исходном сообщении

решение1

Обычно homebrewустанавливается formulaв /usr/local/Cellar/formula, а затем размещается ссылка в /usr/local/bin/formula.

Чтобы использовать установленные вами формулы, убедитесь, /usr/local/binчто в вашем $PATH. Покажите свой, $PATHвведя

echo $PATH

Если /usr/local/binв вашем файле ее нет $PATH, поместите эту строку в конец файла ~/.profile.

export PATH="/usr/local/bin:$PATH"

Теперь проверьте, что pythonsобнаружено на вашем OSX, введя:

which -a python

Должен быть найден один питон /usr/bin/(Apple python) и один, /usr/local/bin/где находится Homebrew python.

which python

покажет вам, какой Python найден первым в вашем $PATH файле и будет выполнен при вызове python.

Если вы хотите узнать, где находится исполняемый файл, покажите его, введя команду

ls -l $(which python)

Это может выглядеть так: lrwxr-xr-x 1 root wheel 68 7 мая 13:22 python -> /usr/local/bin/python

pipЭто также сработает .

Если вы покажете результаты этих шагов, нам, вероятно, будет гораздо легче вам помочь.

-- ОБНОВЛЯТЬ --

Вы /usr/local/bin/pythonсвязались с /usr/local/Cellar/python/2.7.9/bin/python. -> brew install pythonсработало.

показать, если pipустановлено, набрав

brew list python | grep pip

Тебе следует увидеть

/usr/local/Cellar/python/2.7.9/bin/pip

Если нет, проверьте, есть ли ссылки, которые не сделаны brew install. Сказал вам что-то вроде этого:

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

Чтобы принудительно установить связь и перезаписать все конфликтующие файлы:

brew link --overwrite python

Чтобы вывести список всех файлов, которые будут удалены:

brew link --overwrite --dry-run python

** НЕТ стандартного Apple /usr/bin/python**

ссылка с /usr/local/Cellar/python/2.7.9/bin/pythonна/usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

Это необходимо для всех скриптов Python, начинающихся с #!/usr/bin/python. Особенно easy_installэто приведет к ошибке, если ссылка отсутствует.

Теперь вы можете бегать

easy_install pip

Надеюсь, ты делаешь успехи.

решение2

Если brew управляет вашей установкой Python, а pip больше не имеет символической ссылки (т. е. вы вводите «which pip» и не получаете результатов), попробуйте выполнить это из вашего домашнего каталога:

brew unlink python && brew link python

Не уверен, работает ли старый метод сейчас (на моем компьютере он не работал).

Теперь убедитесь, что он действительно указывает на вашу установку 2.7 pip --version(в выходных данных каталога будет указана основная версия Python).

решение3

На самом деле это не ответ на изначальный вопрос, но если кто-то попал сюда из-за того, что установленный им Homebrew python/pipбольше не работает (т. е. pythonуказывает на системный Python и pipне находится), то причиной может быть недавнее (лето 2017 г.) изменение в способе установки и компоновки Python в Homebrew.

Решение состоит в том, чтобы добавить следующее к ~/.bash_profileи/или ~/.zshrc:

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

Это укажет pythonна версию brew python и также даст вам pip. См. раздел предостережений ниже brew info pythonиhttps://github.com/Homebrew/homebrew-core/issues/15746Чтобы получить больше информации

решение4

По умолчанию Homebrew предоставляет pip через: brew install python. Однако тогда на вашем Mac будет установлено два Python, вы можете установить его через:

sudo easy_install pip

Чтобы проверить, какие файлы установлены с вашим пакетом Python, попробуйте:

$ brew list python
/usr/local/Cellar/python/2.7.9/bin/pip
/usr/local/Cellar/python/2.7.9/bin/pip2
/usr/local/Cellar/python/2.7.9/bin/pip2.7
...

который должен состоять pip.

После установки вам следует создать символическую ссылку на установленные файлы вашей формулы:

brew link python

которые должны создавать правильные символические ссылки (например, /usr/local/bin/pipуказывающие на ваш Cellar/python/2.?.?/bin/pip)

Если у вас возникла проблема с разрешениями, вы можете исправить ее следующим образом:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

и убедитесь, что ваш пользователь находится в группе администраторов ( id -Gn $USER).

После исправления разрешений не используйте sudoпри использовании brewкоманды.

Затем снова создайте ссылку:

brew unlink python && brew link python

Для пробного запуска выполните отмену связи и запустите: brew link -n pythonчтобы увидеть ссылки на файлы, которые brewбудут связаны.

После успешного связывания убедитесь, что системная переменная PATH имеет значение /usr/local, если нет, добавьте:

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

в ваш ~/.bashrcфайл.

Если все прошло успешно, то pipтеперь все должно работать.

Связанный контент