pipreqs——一键查询python项目依赖并生成requirements.txt文件
前言
有时候开发项目的时候,不会刻意留意自己用了什么包,每次转过头来整理requirements.txt的时候都是一个艰辛的过程。
下面就整理一下 通过pipreqs 这个扩展快速查询项目依赖并生成requirements.txt
pipreqs
安装 | 使用
pip install pipreqs # 安装pipreqs
Linux: pipreqs ./ # 在Linux系统下,在项目的根目录下食用这条命令
Windows: pipreqs ./ --encoding=utf-8 # 在Windows系统下,在项目的根目录下食用这条命令
食用之后,项目的根目录下就会生成一个requirements.txt文件
报错注意(Error/Worning)
- 如果在Windows下运行不加上encoding的设置,则会导致编码错误
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 1833: illegal multibyte sequence
- 如果项目根目录下有requirements.txt文件,食用上述命令会报错,提示你requirements.txt文件已存在
所以需要加上encoding的设置
其他选项
Usage:
pipreqs [options] <path>
Options:
--use-local 只使用本地包信息,而不是查询PyPI
--pypi-server <url> 使用定制的PyPi服务器
--proxy <url> 使用代理,参数将被传递到请求库。你也可以设置
终端中的环境参数:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug 打印调试信息
--ignore <dirs>... 忽略额外的目录
--encoding <charset> 使用编码参数打开文件
--savepath <file> 将需求列表保存到给定的文件中
--print 在标准输出中输出需求列表
--force 覆盖现有的requirements.txt
--diff <file> 将requirements.txt中的模块与项目导入进行比较。
--clean <file> 通过删除项目中没有导入的模块来清理requirements.txt。
--no-pin 省略输出包的版本。
pip freeze
如果是使用虚拟环境开发的小伙伴(前提是你的环境中的依赖刚刚好就是你项目的依赖),那就可以选择freeze
pip freeze > requirements.txt
前提是搭配虚拟环境, 它的功能就是把环境中所有的依赖列出来
pip freeze 差不多就是 pip list “过滤”版本
关于作者
联系方式 - [email protected]
你也可以通过 github | csdn | @新浪微博 关注我的动态
如有疑问和更奇特的方法,欢迎评论和点赞👍