requirements.txt文件介绍、推荐使用方法

​       python特别是在项目迁移环境时,项目所需要的运行环境依赖包。特别麻烦,requirements.txt文件列出了项目所需的全部依赖包及其版本号,可以帮助确保在新环境中正确安装和配置所需的软件包。使用requirements.txt可以更好地支持跨不同操作系统或平台的开发,通过统一管理依赖项,可以轻松地在不同的操作系统上进行开发和部署。

1.requirements.txt文件介绍

      requirements.txt 文件可以使开发人员明确指定项目所需的依赖项及其精确的版本号,保证开发者使用相同的依赖配置,减少由于依赖版本差异引起的不一致性和错误。

      生成 requirements.txt 文件的方法通常是通过使用 pip 工具,以当前环境中已安装的包为基础来生成。这样可以确保在新环境中能够以相同的依赖版本进行安装,减少因环境差异而导致的问题,并提高迁移过程的可靠性一致性

      文件内容格式:库名称==版本号

说点儿题外话:如何查看当前项目的含有哪些依赖?

      pip freezepip list 都用于列出当前Python环境中已安装的第三方库

  • pip freeze 比 pip list 的包少:因为pip , wheel , setuptools 等包,是自带的而无法 (un)install 的。考虑到pip freeze的用途,所以这些包并没有显示。

  • 显示格式不同:pip freeze命令的输出格式是适合生成requirements.txt文件

charset-normalizer==3.1.0
click==7.1.2
cycler==0.11.0
docopt==0.6.2
et-xmlfile==1.1.0
fonttools==4.38.0
idna==3.4

pip list 命令的输出格式更简洁

Package            Version
------------------ ----------
certifi            2022.12.7
charset-normalizer 3.1.0
click              7.1.2
cycler             0.11.0
docopt             0.6.2

2.requirements.txt使用

1.pip freeze方式

       (1) 使用pip freeze命令生成requirements.txt文件

pip freeze > requirements.txt

pip install --upgrade -r requirements.txt # 更新requirements文件

此种方式会将环境中所有的包都打包进去,适合单虚拟环境

      (2) 安装依赖

pip install -r requirements.txt 

2.pipreqs方式 [推荐]

      pip freeze的缺陷:

  • pip freeze 会保存环境中的所有包,包括你当前项目中未使用的包(如果你没有使用虚拟环境)。

  • 有时你只需要为一个新项目创建 requirements.txt 文件,而无需安装模块。

使用 pipreqs 写入requirements.txt 只是程序中所用到的包,并不是电脑中安装的所有的包

pipreqs——GitHub源码链接

(1)安装 pipreqs

pip install pipreqs

(2)pipreqs 生成requirements.txt文件

​ 在当前项目工作根路径下,调整编码格式为utf8

pipreqs . --encoding=utf8 --force
pipreqs /home/project/location
Successfully saved requirements file in /home/project/location/requirements.txt

注意: --encoding=utf8 使用utf8编码,否则会报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence
--force 强制执行,若requirements.txt存在时覆盖。

知识扩展

(仅提供思路,以便各阶段学习者对比学习,找到适合自己的方法才最关键)

  • pip wheel 实现 Python 依赖包的离线安装 (参考博文)

  • 使用 pipenv 生成/安装 requirements.txt 文件

  • 使用 conda 生成/安装 requirements.txt 文件

常见问题及解决

      等待补充ing…

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用requirements.txt文件可以帮助你管理Python项目的依赖项。以下是使用requirements.txt文件的一般步骤: 1. 创建requirements.txt文件:在你的项目根目录下,创建一个名为requirements.txt的文本文件。 2. 添加依赖项:打开requirements.txt文件,并在每一行上添加一个依赖项,每个依赖项使用以下格式:`package_name==version`。例如,要添加包名为`numpy`的依赖项,并指定版本为1.19.4,可以在requirements.txt中添加以下内容: ``` numpy==1.19.4 ``` 你可以根据你的项目需要添加任意数量的依赖项。 3. 安装依赖项:在终端或命令行中,导航到项目根目录,并运行以下命令来安装所有依赖项: ``` pip install -r requirements.txt ``` 这将根据requirements.txt文件中指定的依赖项和版本号来安装所有必需的软件包。 4. 更新依赖项:如果你想要更新依赖项的版本,可以直接编辑requirements.txt文件,并将相应的包版本更改为所需的版本号。然后,再次运行上述命令以安装更新后的依赖项。 5. 导出依赖项:如果你想要将当前项目的依赖项导出到requirements.txt文件中,可以使用以下命令: ``` pip freeze > requirements.txt ``` 这将生成一个包含当前项目中所有已安装的软件包及其版本的requirements.txt文件使用requirements.txt文件可以方便地共享和重现项目的依赖项。确保在每次添加、更新或导出依赖项后都运行pip命令来安装或更新软件包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值