Mac苹果电脑安装多版本Python和版本切换详解
文章概要:本文详细讲解了如何在macbook电脑上通过homebrew安装多版本python,以及如何切换多版本,在不同项目使用不同版本python。
本文内容来自:谷流仓AI - ai.guliucang.com
前提条件
使用电脑:苹果电脑MacOS需要安装好homebrew并设置好镜像源(具体如何安装homebrew参考这篇文章, 安装过程中会提示选择什么镜像源,选中科大镜像比较快)安装python
搜索可用python
brew search python
可以看到python@3.7
到python@3.12
都有,确定自己需要版本, 比如python3.8
, 输入如下命令安装:
# 安装brew install python@3.8# 查看安装结果:ls -l /opt/homebrew/bin | grep python3# 或者可以用以下命令看一下目前python3的版本python3 -V
可以看到python3各个版本指向的位置。
切换全局python版本
如果安装了多个版本的python,该如何切换版本呢?
可以通过以下步骤来操作, 以我的电脑目前状态为例:
which
命令会在你的环境变量 $PATH 中搜索给定命令的位置。所以我们通过which来找: 输入which python
, 输出结果为 /usr/local/bin/python
。
然后查看一下这个python的具体指向,输入ls -l /usr/local/bin/python
, 输出结果为
/usr/local/bin/python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python
所以python命令最终指向上面的2.7版本的python。我们输入python -V
, 输出结果为Python 2.7.13
。所以这个指向链就是这样的。
输入which python3
, 输出结果为/opt/homebrew/bin/python3
;
查看/opt/homebrew/bin/python3
文件的指向:
ls -l /opt/homebrew/bin/python3 # 输入出结果如下# /opt/homebrew/bin/python3 -> /opt/homebrew/bin/python3.9# 然后继续看这个python3.9的指向:ls -l /opt/homebrew/bin/python3.9#输出结果为:# /opt/homebrew/bin/python3.9 -> ../Cellar/python@3.9/3.9.18_2/bin/python3.9
所以最终指向的是我之前通过brew安装的python3.9(关于Cellar文件夹看底部注释1)。
通过 echo $PATH
可以看到/opt/homebrew/bin
在环境变量中,然后我的usr/local/bin
里面又没有python3
, 所以输入which python3
的时候就会指向/opt/homebrew/bin/python3
。输入python3 -V
,输出结果为Python 3.9.18
, 所以可以确定目前输入python3
命令就是运行/opt/homebrew/Cellar/python@3.9/3.9.18_2/bin/python3.9
这个文件了。
这样python 和python3具体的指向文件都清楚了,接下去就可以切换版本了。
切换python3指向的版本这里我就不修改python指向的版本了,因为用不到。就以修改python3的指向为例,从目前的3.9修改为3.8。根据上面的查找结果,我们只需要把
/opt/homebrew/bin/python3
的指向修改为python3.8就行了。ls -l /opt/homebrew/bin/ | grep python3# 可以看到每个版本都有个pyhon3.x-config,这个config也要一并修改# 删除原来的软链接rm python3rm python3-config# 创建新的软链接(我这里直接指向当前目录下的python文件,也可以指向Cellar文件夹里面最原始的python文件)ln -s /opt/homebrew/bin/python3.8 python3ln -s /opt/homebrew/bin/python3.8-config python3-config
然后验证, 输入python3 -V
, 可以看到结果为Python 3.8.18
, 说明切换版本成功了。 项目虚拟环境指定python版本
比如我想用python3.9创建一个虚拟环境,那么可以输入如下命令:
/opt/homebrew/bin/python3.9 -m venv venv
一般在虚拟环境创建好的时候就这样直接制定了了python版本,创建好不能更改,只能删除重新创建虚拟环境
注释
在MacBook中,/opt/homebrew/Cellar
文件夹是Homebrew软件管理器的默认安装路径之一,尤其是在使用Apple Silicon(如M1或M2芯片)的Mac上。对于基于Intel的Mac,Homebrew通常安装在/usr/local/Cellar
目录下。/opt/homebrew/Cellar
文件夹存放的是通过Homebrew安装的所有软件包(也称作“formulae”)的实际内容。每当你使用Homebrew命令行工具安装一个软件包时,该软件包的所有文件都会被解压并存放到这个目录下,通常每个软件包会有自己独立的子目录。这些子目录里面包含了软件本身的可执行文件、库文件、配置文件等。例如,如果你通过Homebrew安装了Python,那么Python相关的所有文件将会被存放在类似
/opt/homebrew/Cellar/python@3.9/3.9.x_1
这样的路径下(其中“3.9.x_1”表示特定版本号)。这种结构使得管理和更新安装过的软件变得简单高效。需要注意的是,虽然软件包内容被存储在
Cellar
目录中,但为了方便用户直接访问这些程序而不必输入完整路径,Homebrew会创建符号链接(symlinks),指向位于/opt/homebrew/bin
等目录中相应程序的实际位置。这样用户就可以直接通过终端运行这些程序了。