pipreqs——一键查询python项目依赖并生成requirements.txt文件

pipreqs——一键查询python项目依赖并生成requirements.txt文件

前言

有时候开发项目的时候,不会刻意留意自己用了什么包,每次转过头来整理requirements.txt的时候都是一个艰辛的过程。
下面就整理一下 通过pipreqs 这个扩展快速查询项目依赖并生成requirements.txt

pipreqs

安装 | 使用

PyPi-pipreqs

pip install pipreqs  # 安装pipreqs
Linux: pipreqs ./       # 在Linux系统下,在项目的根目录下食用这条命令

Windows: pipreqs ./ --encoding=utf-8   # 在Windows系统下,在项目的根目录下食用这条命令

食用之后,项目的根目录下就会生成一个requirements.txt文件

报错注意(Error/Worning)

  1. 如果在Windows下运行不加上encoding的设置,则会导致编码错误
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa2 in position 1833: illegal multibyte sequence
  1. 如果项目根目录下有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 | @新浪微博 关注我的动态

如有疑问和更奇特的方法,欢迎评论和点赞👍
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章