Как заставить Mac OS использовать питон, установленный Homebrew
Я искал в Интернете какое-то время для этого вопроса, и то, что я сделал до сих пор,
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.
- Установите Homebrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Запустите
brew install python3
Как только он будет установлен, он скажет, что установил его, но у вас уже установлен Python 2.7. Это хорошо, но мы хотим установить его, чтобы на самом деле видеть Python3 в качестве опции
- Используйте
brew link
- Подтвердите, запустив
python3