Python 虚拟环境 Virtualenv 与包管理 pip 实战指南

Ada
Ada
发布时间:2026-10-13 | 3人浏览过
原创

本文详解 Python 中 Virtualenv 的安装与使用,重点讲解如何通过 --no-site-packages 创建纯净虚拟环境,以及利用 pip freeze 和 install -r 实现依赖的批量导出与一键部署,解决多项目版本冲突问题。

本文详细解析 Python 中 Virtualenv 工具及 pip 包管理器的基础用法,旨在帮助开发者掌握虚拟环境配置与依赖管理的核心技能。

0X00 安装环境

在 Python 开发及学习过程中,不同项目往往依赖不同版本的第三方库。为解决版本冲突问题,Virtualenv 应运而生。它允许为每个项目独立创建隔离的虚拟环境,从而避免全局库版本冲突。注意:以下操作仅适用于 Linux 和 OSX 系统,Windows 环境未经过测试。

使用前需先安装 Virtualenv,可通过 pip 直接安装,命令为:pip install virtualenv。安装完成后即可进行后续测试。

0X01 初始化一个空的工作环境

首先,在目标目录下执行命令 virtualenv --no-site-packages test_env,以在当前目录创建名为 test_env 的虚拟环境。参数 --no-site-packages 的作用是确保虚拟环境不包含全局 Python 安装的任何第三方库。若不加此参数,虚拟环境会继承全局已安装的库;加上该参数后,虚拟环境将保持纯净,仅包含基础 Python 组件。

root in ~ λ virtualenv --no-site-packages test_env
New python executable in /root/test_env/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pip, wheel...done.

随后,通过执行 source test_env/bin/activate 命令即可进入(激活)该虚拟环境。激活后,命令行提示符前通常会显示括号及虚拟环境名称(如 (test_env)),以标识当前所处环境。

尽管称为“虚拟”环境,但其底层文件系统是真实的。区别在于,激活该环境后,通过 pip 安装的库将仅保存在 test_env 目录内,不会影响其他项目或全局环境。

如需退出当前虚拟环境,可执行 deactivate 命令。

0X02 批量导出和安装库

假设开发的项目依赖 pymongo、requests、flask、pymysql 等十余个库,且需指定特定版本。当将项目从机器 A 迁移至机器 B 时,手动记录并逐个安装这些库及版本将极其繁琐。针对此痛点,pip 提供了完善的解决方案。

(test_env) root in ~ λ pip freeze > requirements.txt # 导出已安装的库

使用特定命令可导出当前环境中所有已安装的第三方库,并以标准格式输出。因此,标准 Python 项目的根目录通常包含名为 requirements.txt 的依赖文件。

既然支持批量导出,自然支持批量安装。通过该方式,可将导出的特定版本库一次性全部安装完毕。结合 Virtualenv 使用,可快速部署 Python 项目,同时避免污染其他 Python 项目环境。

(test_env_1) root in ~ λ pip install -r requirements.txt

以上即为本文全部内容,希望对各位的学习有所帮助,欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表