最近在使用Homebrew安装软件的时候,总是提示macOS版本过低。我的Mac是18年买的,一直未升级,版本还是老旧的10.13 "High Sierra", 这次索性就升级到最新版本12.6 "Monterey"。具体升级系统的方法,到应用商店搜到macOS Monterey,直接安装即可,整个过程大概花了2个小时,这是背景。

系统升级后,之前系统自带的Python 2.7版本没有了,对应安装目录/System/Library/Frameworks下也没有Python 3版本,另外发现git命令也用不了了。导致这个的原因是升级后xcode命令行工具不是自动安装的,需要重新安装,对应安装命令为:xcode-select --install。xcode安装后,python3git等命令就都可以正常使用了。

Python除了这种安装方式之外,还有其他几种安装方法,在这里统一整理一下。

三种安装方式

1. 使用xcode-select安装xcode

xcode开发者工具自带python。安装后,/usr/bin/python3为对应的可执行文件。因为其在/usr/bin/目录下,可以把该版本当做系统自带版本

安装命令:xcode-select --install,可以使用xcode-select -p查看xcode的安装目录。

$ xcode-select -p
/Library/Developer/CommandLineTools

xcode安装完成后,python3也就安装好了,对应的安装目录为:/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework

这个版本作为系统自带的,xcode其他工具对其有依赖,所以一般不能卸载,也不用卸载。

2. 使用Homebrew安装(推荐)

Homebrew是用来管理第三方软件包工具,如果系统自带的python版本不满足需要的话,可以使用其来安装指定的版本。

安装方法:brew install python,该命令会默认安装最新的版本,此时是3.10.7。当然,也可以指定具体的版本,如:brew install python@3.10,具体支持哪些版本,可以到https://formulae.brew.sh/这里查询。

安装位置:

  • 安装目录:/usr/local/Cellar/python@3.10
  • 快捷方式:/usr/local/bin/python3 -> ../Cellar/python@3.10/3.10.7/bin/python3

卸载方法:brew uninstall python,如果被别的软件依赖不让卸载的话,可以执行brew uninstall --ignore-dependencies python进行强行卸载。

pip3安装的python包位置:/usr/local/lib/python3.10/site-packages

3. 使用官网安装包安装

如果不想用Homebrew安装的话,也可以自行下载对应版本的安装包进行安装,和普通的可视化软件安装方式一样。这种方式安装的python有图形化界面,而前面两种方式没有。

这种安装方式和Homebrew安装方式有个冲突的地方在于,两者都属于自定义安装,他们的可执行文件位置都是/usr/local/bin/python3,所以一般情况下不建议两种方式同时使用。如果必须都要安装的话,可以通过修改/usr/local/bin/python3来指向不同的版本。

3.10.7版本的安装为例。

下载地址:https://www.python.org/downlo...

下载后的安装包:python-3.10.7-macos11.pkg,没啥说的,直接双击安装。

安装后有三个位置:

  • 安装目录:/Library/Frameworks/Python.framework/Versions/3.10
  • 快捷方式:/usr/local/bin/python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.11/bin/python3
  • 应用程序:/Applications/Python 3.10
支持安装多个不同的版本,如:2.7、3.10、3.11等。下载对应的安装包直接安装即可。

需要卸载的话,将上面三个位置的相关安装目录和文件删除,同时恢复一下PATH,操作如下:

// 删除安装目录和文件
$ sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.10
$ sudo rm -rf /Applications/Python\ 3.10/
$ ls -l /usr/local/bin | grep '/Library/Frameworks/Python.framework/Versions/3.10' | awk '{print $9}' | tr -d @ | xargs rm

// 删除下面的配置,恢复PATH
$ vim ~/.bash_profile
...
# Setting PATH for Python 3.10
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin:${PATH}"
export PATH
...

参考资料

  1. Homebrew官网:https://brew.sh/
  2. Homebrew软件包:https://formulae.brew.sh/
  3. Python官网软件包下载:https://www.python.org/downlo...

mumingv
24 声望1 粉丝

持之以恒,方得始终