Как заставить Mac OS использовать питон, установленный Homebrew

Я искал в Интернете какое-то время для этого вопроса, и то, что я сделал до сих пор,

  • установлен python32 в homebrew

  • изменил мой .bash_profile и добавил к нему следующую строку:

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

но когда я закрою терминал и снова запустил, я набираю 'which python', он все еще печатает:

/USR/бен/питон

и тип 'python -version' все еще получил:

Python 2.7.2

Я также пробовал следующую инструкцию:

brew ссылка --overwrite python

или попробуйте удалить python, установленный homebrew, выполнив следующую команду:

brew удалить python

но обе эти две инструкции приводят к этой ошибке:

Ошибка: нет такого бочонка:/usr/local/Cellar/python

может кто-нибудь помочь, спасибо

Ответ 1

Если вы хотите установить Python 3 с помощью Homebrew:

$ brew install python3
==> Downloading http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
Already downloaded: /Library/Caches/Homebrew/python3-3.3.0.tar.bz2
==> ./configure --prefix=/usr/local/Cellar/python3/3.3.0 --enable-ipv6 --datarootdir=/usr/local/Cell
==> make
==> make install PYTHONAPPSDIR=/usr/local/Cellar/python3/3.3.0
==> make frameworkinstallextras PYTHONAPPSDIR=/usr/local/Cellar/python3/3.3.0/share/python3
==> Downloading https://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
Already downloaded: /Library/Caches/Homebrew/distribute-0.6.35.tar.gz
==> /usr/local/Cellar/python3/3.3.0/bin/python3.3 -s setup.py install --force --verbose --install-li
==> Downloading https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/pip-1.3.1.tar.gz
==> /usr/local/Cellar/python3/3.3.0/bin/python3.3 -s setup.py install --force --verbose --install-li
==> Caveats
Homebrew Python3 framework
  /usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework

Distribute and Pip have been installed. To update them
  pip3 install --upgrade distribute
  pip3 install --upgrade pip

To symlink "Idle 3" and the "Python Launcher 3" to ~/Applications
  `brew linkapps`

You can install Python packages with
  `pip3 install <your_favorite_package>`

They will install into the site-package directory
 /usr/local/lib/python3.3/site-packages
Executable python scripts will be put in:
 /usr/local/share/python3
so you may want to put "/usr/local/share/python3" in your PATH, too.

See: https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python

После установки обновите переменную system PATH, добавьте следующую строку в ~/.bash_profile

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

И затем:

$ source ~/.bash_profile

Теперь запустите Python:

$ python3
Python 3.3.0 (default, Mar 26 2013, 10:01:40) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Вы можете проверить путь python3:

$ which python3
/usr/local/bin/python3

Ответ 2

Вы можете попробовать добавить эту строку в свой .bash_profile

alias python='python3'

Ответ 3

brew install python3 вывод упоминается:

Неверсионные символические ссылки python, python-config, pip и т.д., Указывающие на экспорт PATH =/usr/local/bin: /usr/local/sbin: ~/bin: $ PATH python3, python3-config, pip3 и т.д., Соответственно, были установлен в /usr/local/opt/python/libexec/bin

Поэтому, добавив export PATH=/usr/local/opt/python/libexec/bin:$PATH в ~/.bash_profile а затем запустив source ~/.bash_profile вы получите те символические ссылки, созданные Homebrew - python = python3, pip = pip3 и т. Д.: )

$ python --version

Python 3.7.0

$ pip --version

pip 18.0 из /usr/local/lib/python3.7/site-packages/pip (python 3.7)

Ответ 4

От $ brew info python:

Эта формула устанавливает исполняемый файл python2 в /usr/local/bin. Если вы хотите, чтобы эта формула python исполнялась в вашем PATH, добавьте для ~/.bash_profile:   export PATH = "/usr/local/opt/python/libexec/bin: $PATH"

Затем убедитесь, что ваш исполняемый файл python соответствует правильной установке:

$ which python или

$ python --version

Ответ 5

Я прошел через ту же проблему и провел небольшое исследование. Я обнаружил, что кто-то создал ошибку для той же проблемы в хранилище azure/cli. Вы можете найти эту проблему здесь. Я предоставляю здесь то же решение, которое было очень простым и решило мою проблему:

Скорее всего, Brew сломан и нуждается в исправлении или исправлении. Так что запустите команду brew doctor которая даст вам краткую информацию о том, что происходит. Ниже то, что я получил:

mymac:bin sidmishra$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: The following directories do not exist:
/usr/local/sbin

You should create these directories and change their ownership to your account.
  sudo mkdir -p /usr/local/sbin
  sudo chown -R $(whoami) /usr/local/sbin

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/LibSideSyncOSX9.dylib
  /usr/local/lib/ss_conn_lib.dylib

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run 'brew link' on these:
  python

Удивительная особенность команды brew doctor заключается в том, что она не только рассказывает вам о проблемах, но и предлагает вам шаги решения в большинстве случаев. Итак, я выполнил все команды, предложенные brew, и для связи выполнил следующую команду:

brew link python

Выше команда скинула мне ошибку:

mymac$ brew link python
Linking /usr/local/Cellar/python/3.7.1... Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks/Python.framework

Кажется, что /urs/local/Frameworks не имеет достаточно прав для моего текущего пользователя. Итак, я выполнил следующую команду и дал достаточно прав своему текущему пользователю:

sudo chown -R $(whoami) /usr/local/Frameworks/

После выполнения вышеуказанной команды я снова запустил команду связывания, и она сработала !!!

mymac$ brew link python
Linking /usr/local/Cellar/python/3.7.1... 1 symlinks created

Теперь выполните следующую команду, чтобы получить текущую выбранную версию Python:

python --version

Команда выше должна дать вам 3.7.1 (по состоянию на 21 декабря 2018 года) или новую версию для питона. Может быть шанс, что на вашем Mac будет установлен python2 по умолчанию. Если версия не python3 вам нужно сделать пару шагов, чтобы использовать последнюю python3 over python2. Вот шаги:

Используя Shell:

  • Откройте ~/.bash_login или ~/.bash_profile или ~/.cshrc или ~/.profile или ~/.tcshrc или ~/.zprofile, независимо от того, какую оболочку вы используете для команд, в режиме редактирования. Возможно, вам придется использовать sudo для их редактирования.
  • Добавьте к нему следующие шаги:

    PATH = "/Library/Каркасы/Python.framework/Версии /3.2/bin: $ {PATH}" экспортировать PATH

  • Также добавьте следующее для резервного копирования:

    псевдоним python = python3

ИЛИ Использование доморощенного:

Выполните следующие команды, чтобы отсоединить python2 и связать python3:

mymac$ brew unlink [email protected]
mymac$ brew link [email protected]

Выше будет отсоединить python2 и связать python3.

Надеюсь, что некоторые из вас получат помощь от этого ответа.

Хорошего дня!!!

Ответ 6

Установка с Homebrew рекомендуется на macOS. При этом Python 2.7 теперь поставляется с Mac OS.

  1. Установите Homebrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. Запустите brew install python3

Как только он будет установлен, он скажет, что установил его, но у вас уже установлен Python 2.7. Это хорошо, но мы хотим установить его, чтобы на самом деле видеть Python3 в качестве опции

  1. Используйте brew link
  2. Подтвердите, запустив python3