python生成requirements.txt文件的推荐方法
作者:hsxmomo 时间:2021-02-04 01:02:30
一、什么是requirements.txt文件及作用
requirements.txt 文件是项目的依赖包及其对应版本号的信息列表,即记载你这个项目所安装的依赖。
作用:用来重新构建项目或者记录项目所需要的运行环境依赖,你从 GitHub上下载了一个 Python 项目,然后要运行这个项目,你需要安装和项目一样的依赖,这个时候 requirements.txt 文件就起作用,运行命令 pip install -r requirements.txt 来安装该项目所依赖的所有包(前提是这个项目有requirements.txt 文件)。
二、怎么生成requirements.txt 文件
有两种方式:Python里的pip freeze和第三方库pipreqs
1、pip freeze方法(不推荐)
如果你在写的项目是使用虚拟环境写的,就可以使用这个方法,因为这个方法会将你整个Python环境的包全把生成出来,如果你不是使用虚拟环境,使用这个方法,你会发现生成的文件,里面有很多你并不需要的包,这样吗使用安装的依赖包的时候会有很多不需要的包
终端使用命令:
pip freeze > requirements.txt
2、pipreqs第三方库(推荐)
使用 pipreqs 可以自动检索到当前项目下的所有组件及其版本,并生成 requirements.txt 文件,极大方便了项目迁移和部署的包管理。相比直接用pip freeze 命令,能直接隔离其它项目的包生成。
使用步骤:
1、先安装pipreqs库
pip install pipreqs
2、在当前目录使用生成
pipreqs ./ --encoding=utf8 --force
--encoding=utf8 :为使用utf8编码
--force :强制执行,当 生成目录下的requirements.txt存在时覆盖
. /: 在哪个文件生成requirements.txt 文件
补充:setup.py 与 requirements.txt 区别
setup.py 这个文件是用来管理模块的,你可以将你的项目打包为模块上传到 pypi 中,也同样能将项目作为模块放入python 的系统加载模块目录下。
requiremens.txt 这个文件是列举你这个项目引用了哪些非本项目的依赖的,除此之外,没有其他作用。
因此,可以看出这两个项目其实并没有冲突关系,而且有很大共存的必要。
假如你的项目需要保存为系统模块,或者可安装为系统命令的 setup.py 就必不可少了
假如你的项目是可以直接运行的,那么 requirements.txt 也是必不可少。
如果你两种功能都需要,那么就两个文件都不能少。
有这两种功能都需要的么?
必须有啊,而且还很多,例如 Flask,他就支持两种方式:
以系统命令的方式启动,在 Flask 0.11.1 中新加入了一个 Click 包,他可以让你 setup 之后以命令的方式运行
直接运行,传统的 Flask 启动方式一般就是 app.run() 或者 python manage.py runserver
来源:https://blog.csdn.net/weixin_57397476/article/details/124025993
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python startswith()和endswith() 方法原理解析
Asp WinHttp.WinHttpRequest.5.1 对象使用详解
python 利用文件锁单例执行脚本的方法
GO语言入门学习之基本数据类型字符串
python循环定时中断执行某一段程序的实例
Python实现五子棋人机对战 和人人对战
利用Python写一个爬妹子的爬虫
![](https://img.aspxhome.com/file/2023/1/72931_0s.png)
Python json解析库jsonpath原理及使用示例
基于Python3中运算符 **和*的区别说明
![](https://img.aspxhome.com/file/2023/4/95754_0s.png)
Python venv虚拟环境配置过程解析
![](https://img.aspxhome.com/file/2023/0/114650_0s.png)
css去掉checkbox边框的方法
Oracle Index 的三个问题
delete from online where datediff
基于JS判断iframe是否加载成功的方法(多种浏览器)
如何给eWebEditor编辑器加上运行代码框功能
django 修改server端口号的方法
![](https://img.aspxhome.com/file/2023/6/72976_0s.png)
Python项目管理Git常用命令详图讲解
![](https://img.aspxhome.com/file/2023/1/64311_0s.png)
如何在Mac OS X中安装MySQL
PHP基础用法讲解及phpinfo();演示
![](https://img.aspxhome.com/file/2023/3/55373_0s.jpg)
用Dreamweaver MX实现网站批量更新
![](https://img.aspxhome.com/file/UploadPic/20072/200723113154618s.jpg)