Python虚拟环境venv中安装与管理第三方库的步骤

小鹿同学
小鹿同学
发布时间:2026-10-22| 2人浏览过
原创

在Python开发过程中,不同项目通常依赖不同版本的第三方库。如果将所有库直接安装到系统的全局Python中,极易引发版本冲突或由于不可预期的升级破坏已有项目。Python内置的venv模块提供了一套轻量级的虚拟环境隔离机制,它能为每个项目创建独立的目录树,配备专属的Python解释器与第三方库安装路径。本文详细讲解在已激活的venv虚拟环境中,使用pip安装、检查、升级、卸载以及锁定第三方库的具体操作步骤与核心逻辑。

Python虚拟环境venv中安装与管理第三方库的步骤
图1:在 Python venv 虚拟环境中管理第三方库的标准生命周期流程

一、准备工作:创建与激活虚拟环境

管理第三方库的前提是确保所有安装动作发生在隔离环境内。在终端进入项目根目录后,首先使用 Python 原生内置的 venv 模块创建环境目录:

# 在当前项目目录下创建一个名为 .venv 的虚拟环境
python3 -m venv .venv

创建完成后,项目下会生成一个 .venv 文件夹,其中包含独立的 Python 解释器副本、激活脚本以及存放第三方库的 site-packages 目录。随后根据当前操作系统执行对应的激活脚本:

  • macOS / Linux (Bash 或 Zsh):
    source .venv/bin/activate
  • Windows (PowerShell):
    .venv\Scripts\Activate.ps1
  • Windows (CMD 命令提示符):
    .venv\Scripts\activate.bat
关键验证点:激活成功后,命令行提示符前方通常会出现 (.venv) 标记。在继续操作前,必须在终端输入以下命令确认当前的 pip 与 python 是否准确指向虚拟环境内部路径:
# Linux / macOS
which pip
# 预期输出示例:/path/to/project/.venv/bin/pip

# Windows
where pip
# 预期输出首行示例:C:\path\to\project\.venv\Scripts\pip.exe
Python虚拟环境venv中安装与管理第三方库的步骤
图2:全局共享环境与 venv 独立沙箱目录隔离机制对照

二、在虚拟环境中安装第三方库

当虚拟环境激活后,系统当前 Shell 的 PATH 环境变量已被临时修改,优先查找 .venv/bin(Windows 下为 .venv\Scripts)。此时直接运行的 pip 即可保证所有文件安装进当前虚拟环境。

1. 安装最新发布版本

直接在包名后不带任何版本标记时,pip 将自动连接 PyPI 索引,解析并安装该库的最新稳定版本:

pip install requests

2. 指定明确的版本号与范围约束

为了保障生产环境代码运行的确定性,通常需要固定具体版本号或设定兼容区间:

# 精确安装指定版本
pip install requests==2.31.0

# 指定最低版本
pip install "requests>=2.28.0"

# 指定兼容区间(避免大版本不兼容)
pip install "urllib3>=1.26.0,<2.0.0"

3. 使用国内镜像源加速下载

在国内网络环境下访问官方 PyPI 源可能遇到较慢或超时的现象。可以通过 -i 参数临时指定清华大学或阿里云等镜像源:

# 临时使用清华镜像源安装
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

# 若需长期配置当前虚拟环境的镜像源,可直接写入配置:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Python虚拟环境venv中安装与管理第三方库的步骤
图3:pip 在虚拟环境中完成包寻址、解析与本地目录物理落盘的具体流程

三、检查与验证已安装的第三方库

完成安装后,需要对环境内部的库进行审查,以核验安装版本是否符合预期、依赖项是否产生破损。

1. 查看当前环境所有库清单(pip list)

pip list

该命令会以表格形式输出当前虚拟环境中安装的所有第三方包及其对应版本。新创建的干净虚拟环境通常仅包含 pip 本身(某些系统可能附带 setuptools)。

2. 深度查看特定库的安装细节(pip show)

当怀疑当前调用的库并非来自虚拟环境时,pip show 是最直接的诊断方式:

pip show requests

输出示例:

Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
License: Apache 2.0
Location: /home/user/project/.venv/lib/python3.10/site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by: 

重点观察 Location 字段:它必须位于当前项目的 .venv 路径之下。如果显示的路径是 /usr/lib/... 或 C:\Python310\...,说明当前命令未在虚拟环境中执行或终端未成功激活环境。

3. 检查依赖冲突与缺失(pip check)

当多个库互相依赖且版本要求不同时,可能存在兼容隐患。运行以下命令可以排查是否存在版本不兼容或缺失必要依赖的库:

pip check
# 若输出 "No broken requirements found." 则表明依赖关系健康

四、更新与卸载第三方库

在项目维护过程中,需要及时升级存在安全漏洞的依赖或移除废弃的库。

1. 升级已安装的库

使用 --upgrade(或简写 -U)参数将目标库升级至最新版本:

pip install --upgrade requests

pip 会自动检查 PyPI 源上的最新版本,比对本地 site-packages 中的已有版本,并连带检查或升级其底层依赖。

2. 卸载不需要的库

使用 uninstall 命令可从虚拟环境中彻底抹除该库的文件:

pip uninstall requests -y

添加 -y 参数可直接跳过终端的二次确认提示。需要注意:pip uninstall 默认仅删除目标库本身,其依赖项(如 urllib3、certifi)如果未被指定,仍会留在 site-packages 中。

五、依赖清单管理:固化与团队协同

为了让团队成员或生产服务器能够复刻完全一致的依赖环境,不能将几百兆的 .venv 目录提交到 Git 代码仓库中,而是应该通过文本清单记录依赖项及其确切版本。

1. 导出当前依赖清单(pip freeze)

pip freeze > requirements.txt

该命令会将当前虚拟环境中所有已安装的第三方包以及精确版本号以 package==version 的格式输出并保存至 requirements.txt 文件中。例如:

certifi==2023.7.22
charset-normalizer==3.2.0
idna==3.4
requests==2.31.0
urllib3==2.0.4

2. 新环境中批量安装依赖

当在另一台机器或服务器上克隆代码后,只需新建并激活全新的虚拟环境,然后执行:

pip install -r requirements.txt

pip 将严格按照文件中锁定的版本号依次下载并安装全部库,保证各运行端环境表现高度一致。

Python虚拟环境venv中安装与管理第三方库的步骤
图4:常用管理命令、对应参数及关键执行场景总结矩阵

六、常见问题与注意事项

  • 激活后执行 pip 依然安装到了系统全局目录:多见于 Windows PowerShell 默认禁止运行脚本(报错 ExecutionPolicy Restricted)。此时可先在管理员终端执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 解除限制,或在终端显式使用 .venv/bin/python -m pip install <pkg>,直接调用虚拟环境内解释器自带的 pip。
  • 退出虚拟环境:当开发结束需要切回全局环境时,在终端输入 deactivate 即可退出,终端提示符前的 (.venv) 将随之消失。
  • 切忌将 .venv 提交至版本控制:虚拟环境内部的很多可执行文件与符号链接包含绝对路径,且强依赖当前系统的架构与 Python 二进制版本。必须在项目的 .gitignore 中添加 .venv/,仅维护 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 算法库。