千家信息网

python中的requirements.txt文件怎么使用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"python中的requirements.txt文件怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python中的requireme
千家信息网最后更新 2026年11月01日python中的requirements.txt文件怎么使用

这篇文章主要介绍"python中的requirements.txt文件怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python中的requirements.txt文件怎么使用"文章能帮助大家解决问题。

实战场景

在部署Python应用时,需要把第三方库进行安装,这里可以使用requirements.txt文件,其中记录了所有依赖包以及精确的版本号。

requirements.txt文件在我们访问开源 Python项目的时候,极常见。

简单使用流程概述

使用pip freeze命令生成requirements.txt文件,

如下所示:

pip freeze > requirements.txt

请注意:每包都独占一行,然后是版本号。

生成的文件默认在控制台执行目录,也可以自定义目录,创建文件的时候增加文件目录即可

pip freeze > d:/requirements.txt

其中>表示重定向,即 freeze 输出的内容送到requirements.txt文件中。

迁移环境的时候,注意打包该文件,然后使用如下命令部署

pip install -r requirements.txt

生成 requirements.txt 文件潜在问题

如果生成该文件出现的时候出现 warning,建议使用python -m去执行 pip freeze 命令。

如果你创建 Python 程序,或者安装模块时,未使用虚拟环境,那在生成requirements.txt文件的时候,会将你本地所有的包都进行打包提取,部署前,需要人工进行筛选。

语法格式 在requirements.txt文件中,可以只写第三方模块名称,不指定版本号,默认安装最新版本。

如果使用注释,使用#加文字内容。

模块名称与版本号之间可以使用如下符号:

  • ==:等于

  • >:大于版本

  • >=:大于等于

  • <:小于版本

  • <=:小于等于版本

  • ~=:兼容版本,使用任何大于或等于指定版本,但不大于当前发行系列的版本,例如~=1.4.3可以匹配1.4.3到1.4.9,但是不能匹配1.5.0 。

在可选范围内,安装最新版本,当前最优先的依旧是等于的版本号。

可以使用逗号,分隔两个条件,例如下述代码:

package_name >= 1.0, <=2.0

使用 requirements.txt 文件的好处

  • 不需要每个包都使用 pip 进行安装

  • 不需要确定第三方模块的版本号

备注

上文提及如果希望 requirements.txt 文件变得精简,可以使用虚拟环境实现隔离,它将用户的软件包和系统的软件包进行区分,允许我们为每个单独的程序安装模块。

常见的虚拟环境包如下所示:

  • virtualenv

  • pipenv

但上述介绍存在潜在的问题是:

requirements.txt文件只包含一级依赖项及其版本,但如果我们的依赖项自身包含其它依赖项(二级以上),这些模块的版本不一定被锁定。

此时就可能会出现一个由于版本不对应的问题,导致程序崩溃。

当然使用下述命令可以解决该问题

pip freeze > requirements.txt

但是使用该命令会产生延伸问题,如果你希望删除一个模块,如何判断其关联依赖被删除

在其他编程语言中,会创建2个文件,一个用于定义依赖关系,另一个锁定所有的次级依赖项及其版本。

解决上述问题,可以使用pip-tools中的 pip-compile。

使用 pip-compile

该功能模块在pip-tools中,所以需要先安装该工具。

python -m pip install pip-tools -i https://pypi.douban.com/simple/

安装完毕会在 Python 的 Scripts 文件夹中生成如下 exe 程序。

然后在你需要生成requirements.txt的目录中建立一个requirements.in文件,其中可以写入你需要的模块

requests == 2.27.0

然后执行pip-compile命令,输出内容如下所示:

requirements.txt 文件代码如下:

## This file is autogenerated by pip-compile with python 3.8# To update, run:##    pip-compile#certifi==2021.10.8    # via requestscharset-normalizer==2.0.12    # via requestsidna==3.3    # via requestsrequests==2.27.0    # via -r requirements.inurllib3==1.26.9    # via requests

关于"python中的requirements.txt文件怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

文件 版本 模块 问题 命令 生成 时候 内容 环境 目录 程序 知识 第三方 代码 名称 常见 潜在 行业 软件 软件包 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 互联网科技官网 互联网通讯科技 互联网 的科技创新 互联网与未来科技 时间互联网络科技 科技与互联网的利与弊 中国科技互联网公司收入 移动互联网科技股 南山科技园互联网公司有哪些 福建科技产业互联网发展 河南猎农互联网科技有限公司 银川新华互联网科技学校联系电话 高科技互联网发展前景如何 中和天地互联网科技有限公司 万物互联网智能科技 保山互联网科技靠谱吗 求路客互联网科技电话 网互联网络科技 恒生科技互联网指数十大成分股 深圳科技互联网 青岛互联网科技公司 互联网科技商业 浙南科技城互联网大厦建设工程 徐州市互联网科技有限公司 烟台灵鸽互联网科技有限公司 互联网科技圈年度人物 山东大美朱楼互联网科技有限公司 美国五大互联网科技公司市值多少 瑞安市蟠桃会互联网科技有限公司
0