pipreqs------查找python项目依赖并生成requirements.txt

  项目开发的时候,总是要搭建和部署环境,这时,就需要一个python第三方包的list,一般叫做requirements.txt。如果项目使用virtualenv环境,直接使用pip freeze即可,但是如果项目的依赖没有维护,就会很麻烦,这时我们就需要一个叫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。

posted @ 2018-07-28 20:44  一抹浅笑  阅读(20951)  评论(2编辑  收藏  举报