python多版本管理工具pyenv详解

介绍

pyenv 是一个 python 版本管理工具,可以方便的在工作环境中安装、管理和切换不同版本的 python,结合 pyenv-virtualenv 插件,能够方便的创建和管理 python 虚拟环境,在虚拟环境中的各种操作,并不会影响到系统的正常运行,有效防止乱装 python 版本导致系统崩溃等问题的发生。

安装pyenv

# github官网:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# 国内安装:
curl -L https://gitee.com/jordanxu/pyenv-installer/raw/master/bin/pyenv-installer | bash
cat .bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi

source .bashrc

使用pyenv安装python环境

当我们使用pyenv安装python的时候,默认将会去官网下载python,这时国内网络是不通的,解决办法:

自己手动去官网下载所需的python版本,之后上传到 ~/.pyenv/cache目录下:

安装包获取:通过网盘分享的文件:Python-3.8.20.tar.xz
链接: https://pan.baidu.com/s/11MnN2oAcf_FDUdBDEKqMfA?pwd=swee 提取码: swee
--来自百度网盘超级会员v4的分享

# 安装python依赖
yum install gcc make zlib-devel -y
yum groupinstall "Development Tools" -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel -y

# 安装python
mkdir ~/.pyenv/cache/
mv Python-3.8.20.tar.xz ~/.pyenv/cache/
ls ~/.pyenv/cache/
Python-3.8.20.tar.xz

pyenv install 3.8.20

pyenv version
pyenv versions
pyenv global 3.8.20

三种解释器版本控制方法比较(global、shell、local)

pyenv控制版本的方式有三种,分别是:global、shell、local

  1. pyenv shell会话:只影响当前会话,新开的终端仍然是之前的版本
# 设置版本
pyenv shell 3.3.3

# 取消设置当前shell窗口
pyenv shell --unset
  1. pyenv local本地设置:pyenv local命令只会对当前的文件夹和其子目录中的版本起作用 ,其他的目录不起作用
# 设置
pyenv local 3.3.3

# 取消当前目录的
pyenv local --unset
  1. pyenv global 全局设置:所有受到pyenv控制的窗口都受到了影响, 所以尽可能不要用root用户来安装pyenv,否则会影响到之前的系统
# 设置
pyenv global 2.7.8

# 取消全局设置
pyenv global system

pyenv常用命令

pyenv commands:             查看所有pyenv命令
pyenv root:                 显示pyenv根目录
pyenv version:              查看当前版本
pyenv versions:             查看所有版本
pyenv install --list:       查看所有可安装的版本
pyenv install 3.6.5:        安装指定版本
pyenv rehash:               安装新版本后rehash一下
pyenv uninstall 3.5.2 :     删除指定版本
pyenv global 3.6.5:         指定全局版本
pyenv version-file/version-name/version-origin: 当前Python版本对应的文件/名字/位置

虚拟环境管理 (pyenv-virtualenv)

pyenv-virtualenv 是一个管理 python 虚拟环境的 pyenv 插件,具体可以查看 pyenv-virtualenv 文档。

pyenv要使用虚拟环境管理,必须安装一个插件pyenv-virtualenv

pyenv-virtualenv 的安装

git clone https://github.com/pyenv/pyenv-virtualenv.git $.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
pyenv help virtualenv

常用命令

pyenv virtualenv 3.8.20 v3.8.20env  #创建虚拟环境
pyenv activate v3.8.20env       #激活虚拟环境
pyenv deactivate v3.8.20env   #关闭虚拟环境
pyenv virtualenvs   #列出所有虚拟环境
pyenv uninstall v3.8.20env    #删除虚拟环境

当切换python解释器的时候对应的pip和包库也会一并切换过去, 而且可以为指定版本的解释器创建项目所需的虚拟环境, 切换的时候也异常简单, 个人常用的做法是为每个项目创建不同的虚拟环境, 当进入该环境的时候就可以随便浪而不用担心影响到其它项目

posted @ 2025-08-13 21:58  阿峰博客站  阅读(139)  评论(0)    收藏  举报