Python项目导出依赖包列表到 requirements.txt 文件

该文章已生成可运行项目,

一、使用 pip freeze(通用基础版)

适用场景:适合传统虚拟环境(如 venvvirtualenv)或全局环境。

1.1.激活虚拟环境(若使用)

# Windows
.\venv\Scripts\activate
# macOS/Linux
source venv/bin/activate

1.2.导出所有已安装的包

pip freeze > requirements.txt

注意

  • 会导出当前环境中所有包(包括间接依赖),可能包含冗余包

  • 生成的版本号是精确版本(如 requests==2.26.0

二、使用 pipreqs

推荐:按实际导入分析

适用场景:仅导出项目中实际使用的包(基于代码中的 import 语句)。

2.1.安装工具

pip install pipreqs

2.2.生成依赖文件

pipreqs ./ --encoding=utf-8 --force

参数说明

  • ./:项目根目录

  • --encoding=utf-8:避免编码问题

  • --force:覆盖已有文件

优点

  • 自动分析项目代码,只生成实际使用的包

  • 忽略开发环境中的无关依赖

三、使用 Poetry(现代项目管理)

适用场景:使用 Poetry 作为包管理工具的项目。

3.1.导出依赖

生成标准 requirements.txt

poetry export -f requirements.txt --output requirements.txt

3.2.若需包含开发依赖

poetry export --dev -f requirements.txt --output requirements-dev.txt

特点

  • 从 pyproject.toml 生成精确依赖

  • 支持哈希校验(--without-hashes 可禁用)

四、使用 Pipenv(另一现代工具)

适用场景:使用 Pipenv 管理依赖的项目。

4.1.生成 requirements.txt

pipenv lock -r > requirements.txt

4.2.生成开发依赖

pipenv lock -r --dev > requirements-dev.txt

五、手动维护(精准控制)

直接编辑 requirements.txt 文件,按以下格式编写:

# 核心依赖
requests>=2.25.1
numpy==1.21.2

# 开发依赖
pytest>=6.2.5
flake8>=3.9.2

常见问题

  1. No module named 错误

    • 确保已激活正确的虚拟环境

    • 运行 pip install -r requirements.txt

  2. 版本冲突

    • 使用 pip install --upgrade package 更新特定包

    • 或手动调整 requirements.txt 中的版本号

  3. 跨平台兼容性

    • 使用 pip freeze --exclude-editable > requirements.txt 排除本地包

通过以上方法,您可以高效管理 Python 项目的依赖关系,确保开发环境的一致性。


希望对大家有所帮助,建议收藏起来已备用时之需,如有错误敬请留言指正。

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值