Я пытаюсь перейти на Homebrew (после использования fink и macport) в Mac OS X 10.6.2. Я установил Python 2.7 с
brew install python
Проблема в том, что, в отличие от Macport, похоже, что утилиты python_select не существует, а мой mac python по умолчанию всегда по умолчанию
which python
дай мне
/usr/bin/python
и /usr/bin/python
не символическая ссылка
Как я могу сделать Python Brew flavour моим Python по умолчанию?
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
источник: discourse.brew.sh/t/…Ответы:
Поскольку вы используете Homebrew, следующая команда дает лучшую картину:
Вывод:
источник
python2
в / usr / local / bin, для justpython
; Наборexport PATH="/usr/local/opt/python/libexec/bin:$PATH"
в~/.bash_profile
Смотрите: Как сделать символическую ссылку на Python в Homebrew?
источник
Быстрая починка:
/etc/paths
В моем случае
/etc/paths
выглядит так:Если вы хотите узнать больше о путях в OSX, я нашел эту статью весьма полезной:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
источник
Как подсказывает сам установщик homebrew, обязательно добавьте это в ваш
.bashrc
или.zshrc
:источник
.zshrc
файл, а не.bashrc
файл, который необходимо изменить.Я сделал "brew install python" для OSX High Sierra. У
$PATH
него был/usr/local/bin
какой-то другой путь, но он все ещеwhich python
указывал на системный питон.Когда я посмотрел глубже, я обнаружил, что нет исполняемого файла python
/usr/local/bin
. Исполняемый файл называетсяpython2
. Чтобы решить эту проблему, создайте символическую ссылку,python
указывающую наpython2
:/usr/local/bin $: ln -s python2 python
источник
Homebrew НЕ заменяет вещи в "/ usr / bin". Вы просто захотите поставить "/ usr / local / bin" перед "/ usr / bin" на вашем пути, а затем "какой питон" даст вам "/ usr / local / bin / python".
Замена / usr / bin / python (или / usr / bin / ruby) крайне не рекомендуется.
источник
python
формула теперь используетpython3
( сейчас v3.6.5), brew свяжет каталог :это также свяжет двоичный файл :
Если вам все еще нужно использовать
python2.x
, используйте:Чтобы использовать homebrew's
python
, просто поместите его каталог в PATH, для bash:для рыбы:
Примечание:
python
/usr/local/share/python
в более старых версиях.источник
python3
по вашему пути, а не по имени execpython
. Конкретные ссылки/usr/local/opt/python/libeexec/bin
перед другими каталогами в моем пути разобрались.Измените ваш $ PATH, добавьте это в ваш bashrc или bash_profile:
больше нажмите здесь: выпуск № 89791
источник
Вам нужно отредактировать переменную окружения PATH, чтобы убедиться, что везде, где находится доморощенный питон, ищется перед / usr / bin. Вы также можете настроить вещи в конфигурации оболочки так, чтобы переменная типа PYTHON была установлена на желаемую версию python и call,
$PYTHON
а неpython
из командной строки.Кроме того, как сказал другой автор (и особенно на Mac), НЕ связывайтесь с питоном в / usr / bin, чтобы указать на другую установку питона. Вы просто напрашиваетесь на неприятности, если делаете.
источник
Я сделал
brew install python
, мой$PATH
был хорош, но все же,which python
дал мне систему, установленную один. Перезапуск терминала исправил это.источник
brew install python
а затем, перезапустить терминал, и ничего больше? Нет необходимостиbrew unlink
&brew link
?hash -r
brew unlink & brew link
несколько раз. Требуется только перезагрузить терминалpython
Теперь указывает наpython3
, если вам нужно,python 2
затем выполните:brew install python@2
и затем в вашем файле .zshrc или .bashrcexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Now,pyhon --version
= Python 2.7.14 иpython3 --version
= Python 3.6.4. Такое поведение я привык видеть в моем терминале.источник
Я полагаю, что есть способы сделать homebrew python по умолчанию, но, на мой взгляд, правильный способ решения проблемы - не связываться с путями системного python: лучше создать virtualenv, в котором homebrew python будет использоваться по умолчанию (используя virtualenv - опция -Python) Использование таких инструментов, как
python_select
почти всегда плохая идея.источник
Вместо этого используйте pyenv для установки и переключения между версиями Python. Я годами использую rbenv, который делает то же самое, но для Ruby. До этого было адское управление версиями.
Обратитесь к странице github pyenv для инструкций по установке. В основном это выглядит так: - Установите pyenv с помощью homebrew.
brew install pyenv
- Добавьте функцию в конец вашего скрипта запуска оболочки, чтобы pyenv мог творить чудеса.echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
pyenv install 3.7.7
,pyenv global 3.7.7
,pyevn local
. Это создает файл в папке вашего проекта, который определяет версию Python. Pyenv будет переопределять глобальную версию Python с версией в этом файле.источник
Просто сделать:
После этого добавьте это в ваш bashrc или bash_profile:
Наслаждайтесь!
источник
link
командами в ответах здесь,/usr/local/bin
предназначены дляpython2
вместоpython
. Использование псевдонима для решения этой проблемы кажется плохой идеей, но я пока не нашел ничего лучшего.cp /usr/local/bin/python2 /usr/local/bin/python
и он, казалось, работал хорошо. Это еще более уродливый обходной путь?Добавьте
/usr/local/opt/python/libexec/bin
явно к вашему.bash_profile
:После этого все должно работать правильно.
источник
Если вы рыбные раковины
источник
Вы можете редактировать / etc / paths. Вот мой:
Затем добавьте символическую ссылку для версии Python. В моем случае
Вуаля!
источник
Начиная с High Sierra, вам необходимо использовать:
Это потому, что
/usr/local
больше не может быть сытисточник
Понятия не имею, что вы имеете в виду с Python по умолчанию. Я считаю плохой практикой заменять системный интерпретатор Python другой версией. Функциональность системы может в некоторой степени зависеть от системного Python и конкретных модулей или конкретной версии Python. Вместо этого установите ваши собственные установки Python в безопасном другом месте и отрегулируйте $ PATH так, как вам нужно, чтобы вызывать вас Python через поиск пути вместо поиска Python по умолчанию.
источник