工作或学习过程中,总有需求使用 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 ,然后回车
文档参考
版权归原作者 Zerol_Yan 所有, 如有侵权,请联系我们删除。