pipreqs------查找python项目依赖并生成requirement

一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt。 如果一个项目使用时virtualenv环境,还好办 pip freeze 就可以解决,但是如果一个项目的依赖list没有维护,而且又是环境混用,那就不好整理的呀,不过,这里安利一个工具 pipreqs,可以自动根据源码生成 requirements.txt .

使用pip freeze

$ pip freeze > requirements.txt

这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了。

使用 pipreqs

这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。

缺点是可能会有些偏差,需要检查并自己调整下。

# pip install pipreqs

# 使用方式也比较简单
pipreqs ./

如果是Windows系统,会报编码错误 (UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 24: illegal multibyte sequence)

  使用时,指定编码格式 pipreqs ./ --encoding=utf8

  生成requirements.txt 文件后,可以根据这个文件下载所有的依赖

  用法:pip install -r requriements.txt 即可

详细用法:

pipreqs [options] <path>

选项:
--use-local仅使用本地包信息而不是查询PyPI
--pypi-server <url>使用自定义PyPi服务器
--proxy <url>使用Proxy,参数将传递给请求库。你也可以设置
终端中的环境参数:
$ 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。

原文:https://www.cnblogs.com/zhaopanpan/p/9383350.html

猜你喜欢

转载自www.cnblogs.com/mrwuzs/p/11707922.html