pipreqs是一个用于生成Python项目的依赖需求文件(requirements.txt)的工具。它可以自动分析项目的源代码,检测项目中所使用的第三方库,并生成一个包含这些库及其版本信息的requirements.txt文件。
使用pipreqs可以简化项目的依赖管理过程,特别是在共享项目或部署项目到其他环境时。它可以帮助你快速生成一个准确的依赖清单,以确保在其他环境中能够正确安装和运行项目所需的依赖库。
使用pipreqs非常简单,你只需要在项目的根目录下运行以下命令即可生成requirements.txt
文件:首先,看一下如何安装pipreqs,依然是熟悉的pip安装:
pip install pipreqs
再来看一下如何使用pipreqs
。
最简单的用法是,直接在指定目录下生成requirements.txt
,采用如下命令:
pipreqs ./
不出意外的话,大概率会报错,或者卡死。
因为这个工具是老外写的,默认没有考虑到路径名称的编码问题,和外网的连接速度问题。
我们用的时候一般采用如下命令:
pipreqs ./ --encoding utf8 --force --use-local
使用utf8编码 覆盖原来的requirements.txt
并且使用本地包信息而不是查询PyPI
但是……如果你使用Pycharm开发的话,不出意外的话,大概率还是会报错
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 81: invalid start byte
已经使用了utf8编码了为什么还是会无法识别呢?
原来啊,在根目录下还会有pycharm
生成的.venv
虚拟环境,需要排除
pipreqs ./ --encoding UTF8 --force --use-local --ignore .venv
使用--ignore
来排除.venv文件夹,运行提示Successfully
即可成功。
INFO: Successfully saved requirements file in ./requirements.txt