自动生成requirements.txt
Python 自动生成当前项目的requirements.txt
通常我们开发一个python项目时都会用conda 或者 virtualenv 等虚拟环境管理工具来创建一个虚拟环境,在这个虚拟环境中进行开发。
有下面几种方式来生成requirements.txt
pip freeze
- 命令
pip freeze > requirements.txt
这个命令把当前python环境中所有包都写入到requirements.txt中。
大多数时候我们仅想把当前项目依赖到的包写入requirements.txt, 这时候可以使用pipreqs
pipreqs
- 命令
pipreqs .
运行成功后便会在当前目录下生成一个requirements.txt,有时候因为编码问题会出现类似“UnicodeDecodeError: 'gbk' codec can't decode byte 0xb9 in position 1484: illegal multibyte sequence”的错误, 如下:
这时候需要加上参数 encoding=utf-8,即:
pipreqs.exe . --encoding=utf-8
需要留意的是,需要在项目的虚拟环境中pip install pipreqs安装各自的pipreqs, 不然出来的结果其实是系统默认python环境的版本依赖。