Python项目依赖管理与requirements.txt生成指南

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

本文介绍Python项目中生成requirements.txt的两种常用方法。对于使用virtualenv的项目,推荐使用pip freeze直接导出完整环境依赖;若需精准识别源码实际引用的库,可使用pipreqs工具自动扫描生成。文章对比了两种方式的优缺点,并指出pipreqs结果可能存在偏差,需人工核对调整,特别针对Oracle驱动等特殊情况提供了处理建议。

在团队协作开发中,搭建和部署运行环境是必要环节,此时通常需要一份Python第三方包的清单,即requirements.txt。若项目使用了virtualenv虚拟环境,处理相对简单,通过pip freeze命令即可导出依赖列表;然而,当项目缺乏规范的依赖维护且存在环境混用情况时,手动整理将变得十分困难。为此,推荐使用pipreqs工具,它能够根据源代码自动分析并生成所需的requirements.txt文件。

使用pip freeze命令

$ pip freeze > requirements.txt

该方法在配合virtualenv虚拟环境使用时效果最佳,否则可能会列出整个系统环境中安装的所有包,导致清单过于庞大且不精准。

使用pipreqs工具

该工具的核心优势在于对项目目录进行扫描,自动识别源码中实际调用的类库,并据此自动生成依赖清单。

其不足之处在于生成的结果可能存在一定偏差,因此需要用户进行检查并根据实际情况进行手动调整。

# pip install pipreqs

# 使用方式也比较简单
pipreqs ./

INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Starting new HTTPS connection (1): pypi.python.org
INFO: Successfully saved requirements file in ./requirements.txt

cat requirements.txt

Django == 1.6
django_redis == 4.3.0
redis == 2.10.5
django_redis_cache == 1.6.5
simplejson == 3.8.2
Twisted == 16.0.0
pycrypto == 2.6.1
ConcurrentLogHandler == 0.9.1
cx_Oracle == 5.2.1
ujson == 1.35

有时生成的列表会出现偏差,例如并未包含Oracle相关驱动。用户可根据项目实际需求,手动修改requirements.txt文件以补充缺失的依赖。

how python project auto generate requirements.txt ?

以上关于查找Python项目依赖并生成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 算法库。