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. 利用virtualenvpip 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 指定查找的工程路径

转载于:https://my.oschina.net/u/3205248/blog/2221948

你可能感兴趣的:(python)