MacBook 安装多版本Python和版本切换详解

GL_C 2024-08-01 11:35:01 阅读 55

Mac苹果电脑安装多版本Python和版本切换详解

文章概要:本文详细讲解了如何在macbook电脑上通过homebrew安装多版本python,以及如何切换多版本,在不同项目使用不同版本python。

本文内容来自:谷流仓AI - ai.guliucang.com

前提条件

使用电脑:苹果电脑MacOS需要安装好homebrew并设置好镜像源(具体如何安装homebrew参考这篇文章, 安装过程中会提示选择什么镜像源,选中科大镜像比较快)

安装python

搜索可用python

<code>brew search python

可以看到python@3.7python@3.12都有,确定自己需要版本, 比如python3.8, 输入如下命令安装:

# 安装

brew install python@3.8

# 查看安装结果:

ls -l /opt/homebrew/bin | grep python3

# 或者可以用以下命令看一下目前python3的版本

python3 -V

可以看到python3各个版本指向的位置。

切换全局python版本

如果安装了多个版本的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 python3

rm python3-config

# 创建新的软链接(我这里直接指向当前目录下的python文件,也可以指向Cellar文件夹里面最原始的python文件)

ln -s /opt/homebrew/bin/python3.8 python3

ln -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等目录中相应程序的实际位置。这样用户就可以直接通过终端运行这些程序了。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。