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

avatar
作者
筋斗云
阅读量:0

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

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

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

前提条件

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

安装python

搜索可用python

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,该如何切换版本呢?
可以通过以下步骤来操作, 以我的电脑目前状态为例:

  1. 查看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具体的指向文件都清楚了,接下去就可以切换版本了。

  1. 切换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版本,创建好不能更改,只能删除重新创建虚拟环境

注释

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!