Ответ 1
У вас может быть несколько версий Python в вашей macOS.
Вы можете проверить это с помощью команды command
, type
или which
, например:
which -a python python2 python2.7 python3 python3.6
Или введите python
в Терминале и несколько раз нажмите Tab для автоматического завершения, что эквивалентно:
compgen -c python
По умолчанию команды python
/pip
указывают на первый двоичный файл, найденный в переменной среды PATH
, в зависимости от того, что фактически установлено. Поэтому, перед установкой пакетов Python с Homebrew, Python по умолчанию устанавливается в /usr/bin
, который поставляется вместе с вашей MacOS (например, Python 2.7.10 в High Sierra). Любые версии, найденные в /usr/local
(например, /usr/local/bin
), предоставляются внешними пакетами.
Обычно рекомендуется, чтобы при работе с несколькими версиями для Python 2 вы могли использовать команду python2
/pip2
, соответственно, для Python 3 вы можете использовать python3
/pip3
, но это зависит от вашей конфигурации, какие команды доступны.
Также стоит отметить, что после выпуска Homebrew 1.5. 0+ (19 января 2018 года) формула python
была обновлена до Python 3.x, а формула [email protected]
будет быть добавленным для установки Python 2.7. Ранее формула python
указывала на Python 2.
Например, если вы установили другую версию через Homebrew, попробуйте следующую команду:
brew list python python3
или:
brew list | grep ^python
он покажет вам все файлы Python, установленные вместе с пакетом.
В качестве альтернативы вы можете использовать команду apropos
или locate python
, чтобы найти больше файлов, связанных с Python.
Чтобы проверить все переменные среды, связанные с Python, выполните:
env | grep ^PYTHON
Для решения ваших проблем:
Error: No such keg: /usr/local/Cellar/python
Означает, что у вас не установлен Python через Homebrew. Однако дважды проверьте, указав только один пакет за раз (например,
brew list python python2 python3
).База данных locate (
/var/db/locate.database
) не существует.Следуй советам и беги:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
После восстановления базы данных вы можете использовать команду
locate
.