如何用 pip 安装 requirements.txt 中的依赖

pip install -r requirements.txt 一条命令按清单装齐依赖。本文补充虚拟环境最佳实践、--target 指定目录、生成 requirements.txt 与镜像加速用法。

最佳实践
应用程序模块协作插画

一句话回答:在 requirements.txt 所在目录执行 pip install -r requirements.txt,pip 会按清单逐条安装所有依赖(含指定的版本约束)。强烈建议先在虚拟环境里操作:python -m venv .venv && source .venv/bin/activate 再安装,避免污染系统 Python。

基本用法

pip install -r requirements.txt

requirements.txt 的典型内容:

requests==2.32.3        # 精确版本
flask>=3.0,<4.0         # 范围约束
pandas                  # 不限版本
numpy~=1.26.0           # 兼容版本

推荐流程(带虚拟环境)

python -m venv .venv
source .venv/bin/activate        # Windows PowerShell: .venv\Scripts\Activate.ps1;cmd: .venv\Scripts\activate.bat
pip install -r requirements.txt

虚拟环境把项目依赖隔离在所创建的目录里,不同项目的依赖版本互不打架,卸载项目时删掉目录即可。

安装依赖会下载并可能执行包的构建代码,仅使用可信清单与来源。涉及私有源时不要把凭据写进仓库,多个索引混用还须评估依赖混淆风险。

实用参数

# 安装到指定目录(打包部署、无权限环境用)
pip install -r requirements.txt --target=/path/to/libs

# 国内加速(临时)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 只装"缺的",已满足的跳过(默认行为);强制重装:
pip install -r requirements.txt --force-reinstall

# 静默安装(CI 里减少日志)
pip install -q -r requirements.txt

反向操作:生成 requirements.txt

pip freeze > requirements.txt

pip freeze 导出已安装环境的版本快照(含间接依赖,部分引导工具默认排除),并不是跨平台解析锁文件,也不附带制品哈希。只列直接依赖应维护项目声明;代码扫描工具可能遗漏动态导入,结果需人工核对。本文列出的版本号只是 requirements 语法示例,不是当前安全版本推荐。

常见问题(FAQ)

Q:报错 "externally-managed-environment"?

A:新版 Debian/Ubuntu 的系统 Python 禁止直接 pip 安装(PEP 668)。正解就是虚拟环境;或装 pipx 管理命令行工具。别用 --break-system-packages 硬闯。

Q:安装到一半某个包编译失败?

A:通常是缺系统编译依赖或该包不支持你的 Python 版本。先升级 pip:pip install -U pip;看报错包的文档装系统依赖(如 apt install python3-dev build-essential);或换支持新 Python 的包版本。

Q:requirements.txt 里能引用其他文件或私有源吗?

A:可以:-r base.txt 嵌套引用、-i https://私有源/simple 指定索引、git+https://... 直接从 Git 安装。这些行写在 txt 里与命令行参数等效。

核查依据

本文依据官方文档核对,示例未在实际业务环境运行;上线前请按部署版本、权限与数据范围验证。


延伸阅读

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台