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

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等目录中相应程序的实际位置。这样用户就可以直接通过终端运行这些程序了。
    物联沃分享整理
    物联沃-IOTWORD物联网 » MacBook Python多版本安装及切换详解

    发表评论