Не могу обновить Python с 3,6 до 3,7 в MacOS - PullRequest
0 голосов
/ 09 ноября 2019

Я пробовал несколько команд для обновления python 3.6 до python 3.7 в homebrew на MacOS.

Я пытался (как пользователь с правами администратора):

brew update

Это заявлено для установки python 3.7

brew upgrade

brew link python3    

brew link --overwrite python3

brew unlink python && brew link python

brew switch python 3.7.0

brew switch python 3.7.5
Cleaning /usr/local/Cellar/python/3.7.5
24 links created for /usr/local/Cellar/python/3.7.5

После всех этих попыток я все еще получаю: python3 --version Python 3.6.5

Может кто-нибудь помочь мне перейти на python3?

1 Ответ

0 голосов
/ 09 ноября 2019

На основе комментария :

which python3 -> /Library/Frameworks/Python.framework/Versions/3.6/bin/python3

Ваш python3 не является тем, который установлен / управляется Homebrew.
(Может быть, это из Python .pkg для Mac ?).

Сначала установите его через Homebrew:

$ brew uninstall python3   # let's start from scratch
$ brew install python3

Проверьте, где он установлен:

$ brew info python3
python: stable 3.7.5 (bottled), HEAD
...
==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin

If you need Homebrew's Python 2.7 run
  brew install python@2

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages
...

Обратите внимание, что Homebrew установил его в / usr / local / bin / python3 , а пакеты сайтов хранятся в соответствующем / usr / local / lib / python3.7 / site-packages .

Далее необходимо убедиться, что ваша ОС ищет python3 по тому же пути.

$ echo $PATH
/usr/local/sbin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Если вы не видите / usr / local / bin добавьте его в PATH, добавив его в ~ / .bash_profile :

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

Затем sourceобновленный ~ / .bash_profile (или перезапустите терминал).

$ source ~/.bash_profile
$ echo $PATH

Из комментария , если ваш PATH показывает / Library /Frameworks / Python.framework / Versions / 3.6 / bin / python3 , вам придется удалитьэто путем явной установки полного PATH в вашем .bash_profile .

Наконец, проверьте, что python3 теперь правильно:

$ which python3
/usr/local/bin/python
$ ls -l /usr/local/bin/python
lrwxr-xr-x  1 gino  admin  38 Oct  4 17:35 /usr/local/bin/python3 -> ../Cellar/python/3.7.5/bin/python3
$ python3 -V
Python3.7.5

Обратите внимание, что python3 должен быть python3 установлен Homebrew в каталоге .. / Cellar .

Могу ли я легко перейти на установку homebrew или я потеряю всемои установленные пакеты?

Я бы порекомендовал переустановить пакеты в папке Homebrew python3 site-packages . Если вы сохранили файл needs.txt для своих проектов Python, это просто:

$ python3 -m pip install -r requirements.txt
...