python requirements.txt 生成_Python 项目自动生成 requirements.txt 文件

Python项目中通常都会包含一个requirements.txt文件,一般存放在工程根目录下。该文件记录了项目中使用的第三方依赖包及其版本号信息,主要用于新环境中的项目部署。它通常长这样:

# requirements.txt

cx-Oracle == 7.0.0

paramiko == 2.4.2

Pypubsub == 4.0.0

requests == 2.18.4

SQLAlchemy == 1.2.12

wxPython == 4.0.3

把项目部署到新环境后,在文件目录下执行命令 pip install -r requirements.txt,pip就会自动下载、安装文件中所有的依赖包了,使用起来十分方便。那么,我们自己的python项目该如何生成requirements.txt文件呢?

1. 小型项目建议手动生成

一般的小项目可能只会用到5、6个第三方的依赖包,完全可以自己手动填写,费不了多少事情。

2. 利用virtualenv与pip freeze命令自动生成

使用virtualenv在独立环境下开发的python项目,可以通过执行如下命令自动生成requirements.txt文件:

pip freeze > requirements.txt

pip freeze命令会列出当前环境中安装的所有第三方依赖包及其版本号信息,所以仅当项目在独立的虚拟环境中时该方法才比较实用。非虚拟环境会列出本地安装的所有依赖包。另外第三方包所依赖的包也会被列出。

3. 利用第三方包pipreqs或者pigar自动生成

pipreqs与pigar均可直接通过pip install命令直接安装使用。

pipreqs,能够自动分析项目中引用的包,并生成requirements.txt文件。实际使用时发现存在偏差,还需要人工检查修改。。。

使用方法:在项目根目录下执行命令:

pipreqs ./

pipreqs ./ --encoding=utf-8 # windows环境下需要指定编码,不然会报编码错误

pigar,功能同pipreqs,但更强一些,生成的requirements.txt文件中会显示包在项目中被引用的位置。使用时依然会存在些许偏差,但比pipreqs好用不少,推荐使用。

使用方法:在项目根目录下执行命令:

pigar -p requirements.txt -P ./ # -p 指定requirements.txt文件保存路径,-P 指定查找的工程路径

你可能感兴趣的:(python,生成)