requirements.txt常用操作

requirements.txt 是 Python 项目中最常见的依赖管理文件之一,它列出了项目运行所需的所有第三方库及其版本信息。以下是 requirements.txt 的常用操作分类汇总,适用于日常开发、部署和协作场景:


📌 一、创建 requirements.txt

1. 从当前环境生成

pip freeze > requirements.txt
  • 生成当前虚拟环境中所有已安装包及其精确版本号(如 numpy==1.24.2)。

2. 指定部分依赖手动编写

numpy>=1.20
pandas==1.3.5
scikit-learn
  • 可以指定精确版本 (==)、最小版本 (>=)、版本范围 (>=1.0,<2.0)。

📌 二、安装依赖

1. 从 requirements.txt 安装

pip install -r requirements.txt

2. 使用国内镜像加速安装(如清华)

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

📌 三、常见格式和语法

# 注释
numpy>=1.21   # 最小版本
scikit-learn==0.24.2  # 精确版本
tensorflow!=2.8.0  # 排除某版本
git+https://github.com/user/repo.git  # 从Git安装
-e .   # 安装当前目录为包(常用于开发)

📌 四、分环境维护

为不同环境维护多个文件:

requirements/
├── base.txt
├── dev.txt      # 开发依赖(如 pytest, black 等)
├── prod.txt     # 生产依赖

dev.txt 可以引用 base.txt

-r base.txt
pytest
black

安装开发依赖:

pip install -r requirements/dev.txt

📌 五、与虚拟环境结合使用

推荐使用 venvconda 创建隔离环境:

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

📌 六、更新 requirements.txt

当你安装/卸载了新的包,可以重新 freeze:

pip freeze > requirements.txt

⚠️ 建议用工具管理依赖更精细,如 pip-tools(如下)。


📌 七、进阶工具推荐

1. pip-tools:自动生成 requirements.txt

  • 安装:
pip install pip-tools
  • 创建 requirements.in(只写需要的库)
numpy
pandas
  • 生成锁定的 requirements.txt
pip-compile requirements.in
  • 安装:
pip install -r requirements.txt

2. pipreqs:从代码反推出 requirements.txt

pip install pipreqs
pipreqs /path/to/project

📌 八、版本冲突检查

pip check

posted @ 2025-05-17 15:30  saulstavo  阅读(72)  评论(0)    收藏  举报