Linux下使用pyenv与virtualenv实现Python多版本及项目环境隔离

栗子
栗子
发布时间:2026-10-13| 6人浏览过
原创

本文详细记录了在Linux CentOS 7环境下,通过安装pyenv和virtualenv实现Python多版本共存及项目环境隔离的完整过程。涵盖从源码下载、国内镜像源配置、依赖安装到虚拟环境创建与切换的实际操作步骤,解决官方源下载缓慢问题,并提供常用命令参考。

pyenv与virtualenv环境管理概述

本次实验基于Linux CentOS 7 64位系统,旨在记录在配置过程中遇到的坑及解决方案。

pyenv是一款Python版本管理工具,支持全局切换Python版本,也能为特定项目指定独立的Python版本。通过pyenv,服务器可同时安装多个不同版本的Python,便于灵活切换以满足不同需求。

virtualenv用于管理不同项目的运行环境,旨在隔离各项目的工作依赖,确保在同一Python版本下实现不同项目的独立环境需求。

结合pyenv与virtualenv使用,可以更高效地管理Linux系统中的Python运行环境。

pyenv安装与配置详解

第一步:安装pyenv。

将项目克隆至本地目录。


 yum install git -y
 git clone https://github.com/pyenv/pyenv.git ~/.pyenv

配置相关环境变量。


 echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
 echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

执行source命令重新加载配置文件。


 source ~/.bashrc
 #验证pyenv是否正确安装:
 pyenv --help
 
 #查看pyenv支持安装的python版本:
 pyenv install --list

安装Python所需的系统依赖包。


 yum install gcc -y
 yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y

完成上述步骤后,即可使用pyenv安装不同版本的Python,例如本例中的3.7.2与2.7.5版本。

若使用官方源地址下载,速度可能极慢甚至无响应。建议修改为国内镜像源,可访问淘宝镜像站 http://npm.taobao.org/mirrors/python 查找所需版本。

此处以获取两个特定版本的下载地址为例。

具体地址如下: http://npm.taobao.org/mirrors/python/2.7.5/Python-2.7.5.tar.xz http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tar.xz

随后需分别修改对应的配置文件。

~/.pyenv/plugins/python-build/share/python-build/2.7.5

~/.pyenv/plugins/python-build/share/python-build/3.7.2

保存退出后,执行下载命令,速度将显著提升。


 pyenv install -v 3.7.2
 pyenv install -v 2.7.5

以下是pyenv的一些常用命令。


 #查看当前安装的python版本
 pyenv versions
 
 #切换选择当前python版本
 pyenv global 3.7.2
 
 #删除python版本
 pyenv uninstall 2.7.2

至此,pyenv安装完成。

pyenv-virtualenv插件安装与环境创建

第二步:安装pyenv-virtualenv插件。

将项目克隆至本地。


1 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

 #配置环境变量
 echo 'echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

 #source 命令重新载入配置文件:
 source ~/.bashrc
 
 #查看是否安装成功
 pyenv help virtualenv

创建名为project_27_1的虚拟环境(基于Python 2.7.5)以及名为project_37_1的虚拟环境(基于Python 3.7.2)。


 pyenv virtualenv 2.7.5 project_27_1
 pyenv virtualenv 3.7.2 project_37_1
 #查看创建的工作环境
 pyenv virtualenvs


虚拟环境使用示例与总结

以下为实际使用示例。


 #进入环境project_27_1
 pyenv activate project_27_1
 #在该环境安装0.8版本的flask
 pip install flask==0.8
 #退出当前工作环境
 pyenv deactivate
 
 #删除虚拟环境first_project
 pyenv virtualenv-delete project_27_1

总结。

以上介绍了通过pyenv与virtualenv在Linux中实现Python多版本及多项目管理的安装方法,希望有所帮助。如有疑问欢迎留言,作者将及时回复。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。