我们在写Python脚本的时候往往会用到很多第三方库,但是当我们把脚本换个环境之后就需要手动安装第三方库,有时候有的第三方库还需要一些别的依赖。为了省事,我们可以导出一个requirements.txt,把需要安装的第三方库放在里面。下面我们就讲一下如何导出这个requirements.txt。
pip freeze > requirements.txt
这种方法配合virtualenv才好用,否则会把整个环境中的包都列出来。所以往往不适用
使用pipreqs,这个工具的好处是可以通过对项目目录的扫描,发现使用了哪些库,生成依赖清单。
安装
pip install pipreqs
使用
在项目的根目录下 使用 pipreqs ./
要注意:Windows系统下直接使用会出现编码错误UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 173: illegal multibyte sequence。所以在使用时要指定编码格式。
pipreqs ./ --encoding=utf8
最后生成出来的requirements.txt,可以根据这个文件下载所有依赖
pip install -r requriements.txt
附上pipreqs的使用说明:
Usage:
pipreqs [options]
Options:
--use-local Use ONLY local package info instead of querying PyPI
--pypi-server
--proxy
environments parameter in your terminal:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug Print debug information
--ignore
--encoding
--savepath
--print Output the list of requirements in the standard output
--force Overwrite existing requirements.txt
--diff
--clean
使用方法:
pipreqs [options]
选项:
--use-local 仅使用本地报信息而不查询PyPI
--pypi-server
--proxy
终端中的环境参数:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug 打印调试信息
--ignore
--encoding
--savepath
--print 输出标准输出中的需求列表
--force 覆盖现有的requirements.txt
--diff
--clean