使用 pyenv 管理多版本 Python 环境及 virtualenv
本文详细介绍如何使用 pyenv 在 Linux 环境下管理多个 Python 版本。通过安装 pyenv 插件、配置环境变量,实现不同 Python 版本的自由切换。同时结合 virtualenv 功能,演示如何创建、激活和删除特定版本的虚拟环境,解决多项目依赖冲突问题。
pyenv 简介与安装
随着同时开发的项目数量增加,开发者经常需要在不同版本的 Python 环境之间频繁切换。以往使用的 virtualenv 仅能管理单一 Python 版本下的第三方库,无法解决跨版本切换的需求。为此,引入 pyenv 工具来统一管理多个 Python 版本成为更优选择。
安装 pyenv
执行以下命令即可自动下载安装 pyenv 安装器:
自动安装 pyenv
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
安装完成后,需修改用户主目录下的 ~/.bashrc 配置文件,将 pyenv 添加到系统 PATH 变量中。在文件中添加如下配置行:
配置环境变量
export PATH="/home/kongxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
保存修改后,执行 source 命令使环境变量立即生效。
$ .~/.bashrc
Python 版本管理
使用 pyenv 管理 Python 版本
首先,检查当前系统已安装及正在使用的 Python 版本。
查看已安装版本
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
输出结果中,system 表示系统默认安装的 Python 包,星号(*)标记当前生效的 Python 环境。
查看当前可供安装的 Python 版本列表。
查询可安装版本
$ pyenv install -l
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
...
指定安装特定版本的 Python。
安装指定版本
$ pyenv install 2.7.10
Downloading Python-2.7.10.tar.xz...
-> https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
Installing Python-2.7.10...
patching file ./Lib/site.py
Installed Python-2.7.10 to /home/kongxx/.pyenv/versions/2.7.10
$ pyenv install 3.2.1
...
安装完成后,再次查看已安装的 Python 版本列表以确认安装结果。
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
2.7.10
3.2.1
切换并使用指定版本的 Python。
切换全局 Python 版本
$ pyenv global 3.2.1
$ python -V
Python 3.2.1
切换后,检查当前生效的 Python 版本是否已更新为目标版本。
$ pyenv version
3.2.1 (set by /home/kongxx/.pyenv/version)
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
virtualenv 虚拟环境管理
使用 pyenv 管理 virtualenv 虚拟环境
创建一个新的 virtualenv 环境。
此处以 Python 3.2.1 版本为基础,创建一个名为 myenv 的虚拟环境。
创建虚拟环境
$ pyenv virtualenv 3.2.1 myenv
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
3.2.1/envs/myenv
myenv
激活当前需要使用的 virtualenv 环境。
激活与停用环境
$ pyenv activate myenv
$ pyenv versions
system
2.7.10
3.2.1
3.2.1/envs/myenv
* myenv (set by PYENV_VERSION environment variable)
停用当前正在使用的 virtualenv 环境。
$ pyenv deactivate
删除不再需要的 virtualenv 环境。
删除虚拟环境
$ pyenv virtualenv-delete myenv
以上即为 pyenv 管理多版本 Python 及虚拟环境的完整操作流程,希望能为读者的开发工作提供参考。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









