MacOS下Python多版本安装与管理指南

工作或学习过程中,总有需求使用 Python 不同的版本,如何同时安装多个版本,并进行灵活切换就变得很重要。以前都会通过修改环境变量的方式,指定 Python 的默认路径,但这样做好麻烦。更换电脑后,发现还有 pyenv 这样一个好用的 Python 版本管理工具。它不仅可以同时安装多个Python 版本,切换不同版本,还可以指定某一文件夹所使用的 Python 版本,就连 Python 的虚拟环境 virtual environments 也可以一起管理。

安装 pyenv

如果需要安装 homebrew,可参考 Mac 安装 Homebrew 及常用命令

brew install pyenv
pyenv -v

安装前,会自动更新 homebrew,一般情况下无需手动执行更新操作

安装多版本 Python

pyenv install 3.7.3
pyenv rehash # 在进行安装、删除指定python版本后使用,更新版本管理数据库
pyenv install 3.12.3

查看已经安装的版本

pyenv versions

常用命令

# 查看所有可以安装的版本
pyenv install --list

# 查看所有命令
pyenv commands
  • local       设置或显示本地的 Python 版本(当前目录及其子目录)
  • global      设置或显示全局 Python 版本
  • shell       设置或显示 shell 指定的 Python 版本(本次会话)
  • install     安装指定 Python 版本
  • uninstall   卸载指定 Python 版本)
  • version     显示当前的 Python 版本及其本地路径
  • versions    查看所有已经安装的版本
  • which       显示安装路径
  • 版本切换命令

    # 切换当前目录 Python 版本
    pyenv local 3.12.3
    # 检查当前目录版本
    python -V
    # 取消当前目录版本限制
    pyenv local --unset
    
    
    # 切换当前会话 Python 版本
    pyenv shell 3.12.3 
    # 取消当前会话版本限制
    pyenv shell --unset

    版本切换失败

    如果遇到切换之后,Python版本还是系统的默认版本的话,就需要配置一下环境变量,在 ~/.zshrc 或 ~/.bash_profile 文件最后写入:

    export PYENV_ROOT=~/.pyenv
    export PATH=$PYENV_ROOT/shims:$PATH
    if which pyenv > /dev/null;
      then eval "$(pyenv init -)";
    fi

    生效配置

    source ~/.zshrc
    或者
    source ~/.bash_profile

    安装Python环境管理

    pyenv-virtualenv 是一款 pyenv 插件,可以用来搭建基于不同 Python 版本、虚拟且独立的 python 环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题

    使用 brew 安装

    brew install pyenv-virtualenv

    修改配置

    在 ~/.zshrc 或 ~/.bash_profile 文件最后写入:

    # pyenv-virtualenv
    if which pyenv-virtualenv-init > /dev/null;
      then eval "$(pyenv virtualenv-init -)";
    fi

    生效配置

    source ~/.zshrc
    或者
    source ~/.bash_profile

    创建虚拟环境

    #pyenv virtualenv 版本号 虚拟环境名
    pyenv virtualenv 3.12.3 test-3.12.3

    启用和停用虚拟环境

    # 激活
    pyenv activate test-3.12.3
    # 停用
    pyenv deactivate

    删除虚拟环境

    # 使用 pyenv uninstall 虚拟环境名
    pyenv uninstall test-3.12.3 
    y # 输入 y ,然后回车

    文档参考

    1、https://juejin.cn/post/6844903861979709453

    作者:Zerol_Yan

    物联沃分享整理
    物联沃-IOTWORD物联网 » MacOS下Python多版本安装与管理指南

    发表回复