Я установил 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
Ни один из которых не является исполняемым.
Я был бы признателен за помощь тех, кто имеет больше опыта, чем я.
Изменить: я попробовал шаги, предложенные Марко:
Вот результаты к шагам:
echo $ PATH показывает несколько каталогов: / usr / local / bin: / usr / local / mysql / bin: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / texbin: / OPT / X11 / бен: / USR / местные / MySQL / бен
который -a Python возвращает: / usr / local / bin / python / usr / local / bin / python
ничего не возвращается за что -a пипс
- какой python возвращает: / usr / local / bin / python
за который пункт не возвращается
- ls -l $ (какой python) возвращает один каталог: lrwxr-xr-x 1 Ivan admin 33 17 мая 08:59 / usr / local / bin / python -> ../Cellar/python/2.7.9/bin/ питон
ls -l $ (which pip) возвращает несколько, включая файлы python, которые я показал в моем исходном посте
/usr/bin/python
. Это не хорошо, потому что многие скрипты Python начинаются с#!/usr/bin/python
. Если Python отсутствует, вы получите сообщение об ошибке, подобное вашему. Используйте,brew link --dry-run python
чтобы проверить, что будет изменено на ваши ссылки при использованииbrew link --overwrite python
. Мы запустим ваш пункт ;-)brew link --overwrite --dry-run python
чтобы увидеть, какие файлы будут перезаписаны.Warning: The post-install step did not complete successfully You can try again using brew postinstall python. I tried the
команду brew postinstall python`, которая привела меня к нескольким файлам, к которым у меня не было доступа, и которые я записал. Теперь я могу использовать пипс!The post-install step did not complete successfully
из-заerror: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied
. Удаление этого файла вручную и последующий запускbrew postinstall python
исправили его.Если brew управляет вашей установкой Python, а pip больше не является символической ссылкой (т.е. вы набираете «which pip» и не получаете результатов), попробуйте это из своего домашнего каталога:
Не уверен, что старый метод работает больше (это не на моей машине).
Теперь подтвердите, что он действительно указывает на вашу установку 2.7
pip --version
(он перечислит основную версию python в выходных данных каталога).источник
На самом деле не является ответом на первоначальный вопрос, но если кто-то окажется здесь, потому что его установленный Homebrew
python/pip
больше не работает (т.е.python
указывает на системный python иpip
не найден), то причиной может быть недавнее (лето 2017) изменение в Кстати Homebrew устанавливает и связывает Python.Решение состоит в том, чтобы добавить следующее к
~/.bash_profile
и / или~/.zshrc
:export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
Это будет
python
указывать на варочную версию Python, а также даст вамpip
. См. Раздел предостереженийbrew info python
и https://github.com/Homebrew/homebrew-core/issues/15746 для получения дополнительной информации.источник
По умолчанию Homebrew обеспечивает пип через:
brew install python
. Тем не менее, у вас будет два Pythons, установленных на вашем Mac, вы можете установить его через:Чтобы проверить, какие файлы установлены с вашим пакетом Python, попробуйте:
который должен состоять
pip
.После установки вы должны сделать символическую ссылку на установленные файлы вашей формулы:
который должен создавать правильные символические ссылки (например,
/usr/local/bin/pip
указывать на вашCellar/python/2.?.?/bin/pip
)Если у вас есть проблема с разрешением, вы можете исправить ее:
и убедитесь, что ваш пользователь находится в группе администраторов (
id -Gn $USER
).После исправления разрешений не используйте
sudo
при использованииbrew
команды.Затем снова связать его:
Чтобы протестировать пробный запуск, отсоедините и запустите:
brew link -n python
чтобы увидеть ссылки на файлы, которыеbrew
будут ссылаться.После успешного установления связи убедитесь, что ваша системная переменная PATH имеет
/usr/local
, если нет, добавление:в ваш
~/.bashrc
файл.В случае успеха, вы
pip
должны работать сейчас.источник
/usr/bin/python
установили (что обычно должно быть предоставлено с OS X). Поэтому, пожалуйста, попробуйте, как предложено, то естьbrew install python && brew link python
, затем добавьте/usr/local/bin
в свойPATH
.brew install python && brew link python
это вводит Python/usr/bin
. Я вижу этоusr/local/bin
, но я не вижу символическую ссылку, чтобы пип там. Я также не связал и не связал Python, и ничего не изменилось. Кажется, что установка brew и ссылка неbrew
ничего не делает/usr/bin
, но/usr/local/bin
. Попробуйте:brew unlink python
и всухую:brew link -n python
перечислить все файлы, которые должны быть связаны, и проверить, есть лиpip
там. Если да, запустите снова без-n
.