Python 官方最新版本,Homebrew 版本和安装版本在 macOS 上不同

Python official newest version, Homebrew version and installed version differ on macOS

  1. 根据python.org,3.8.2是目前最新的版本 Python。
  2. 当我尝试使用 Homebrew 升级 python3 时(刚 已升级),它告诉我版本 3.7。6_1 已经安装。
  3. 当我询问 python3 当前版本时,它告诉我 3.7.3.

查看终端运行:

Nannas-Computer:some_folder username$ brew update
Already up-to-date.
Nannas-Computer:some_folder username$ brew upgrade
Nannas-Computer:some_folder username$ brew upgrade python3
Warning: python3 3.7.6_1 already installed
Nannas-Computer:some_folder username$ python3 --version
Python 3.7.3

为什么所有这些版本都不同,我如何在我的 mac(macOS Mojave,版本 10.14.6)上安装 3.8.2 版本?

经过一番研究,我发现了以下原因:

  • 可以通过 Homebrew 升级到 Python 3.8.2,但由于一些复杂性,它未被列为提供 python。查看状态 here。在这个问题完成之前,3.7.6_1 是您可以升级到的最新版本(正如 Homebrew 一直告诉我的那样)。

  • 当我在终端中 运行 python3 --version 时,它返回 Python 3.7.3 因为我自己在某个时候从官方网站安装了这个版本,没有使用 Homebrew .通过 Homebrew 将 python 升级到 3.7.6 对 python 的主要安装没有影响。我使用 有用的答案摆脱了手动安装的版本,之后我使用 Homebrew 重新安装 python 只是为了安全起见,现在我终于有了:

    Nannas-Computer:some_folder username $ python3 --version
    Python 3.7.6
    

您可以安装 Python 3.8.x 使用命令:

brew install python@3.8

由于它不是 Homebrew 上的主要 Python 发行版,因此默认情况下无法通过简单键入 python3 访问它。二进制文件位于 /usr/local/Cellar/python@3.8/3.8.2/bin/python3.8 中,您可以创建指向它的符号链接或通过键入完整路径直接使用。

这并不像人们想象的那么麻烦,因为通常您唯一需要做的就是创建一个虚拟环境并激活它。从那时起,它将成为您的默认值 Python(对于此 virtualenv):

$ /usr/local/Cellar/python@3.8/3.8.1/bin/python3.8 -m venv my_venv
$ source my_venv/bin/activate
(my_venv)$ python
Python 3.8.1 (default, Dec 27 2019, 18:06:00)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>