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

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

本文详解 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 相关产品和应用

全部下载
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 算法库。