使用自带pip
$ pip freeze > ./requirements.txt
这种方法缺点是会把环境中所有安装的包都包括进来。
使用pipreqs包
安装
$ pip install pipreqs
在项目根目录下,使用
$ pipreqs ./
这种方法根据项目的import语句来生成依赖,比pip方法简洁,但是不是很精准,有些深层依赖可能不会添加进来。
该命令默认联网PyPi来获取包的信息,使用–use-local参数可以仅使用本地信息。
使用pip-tools包
安装
$ pip install pip-tools
这个包包含两个命令:pip-compile和pip-sync
$ nano requrements.in
,手动写入以下依赖:
numpy==1.15.2
pandas==0.23.4
pyhive==0.6.1
$ pip-compile requrements.in
,此命令会在当前目录生成requirements.txt文件。
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile requirements.in
#
future==0.17.1 # via pyhive
numpy==1.15.2
pandas==0.23.4
pyhive==0.6.1
python-dateutil==2.8.0 # via pandas, pyhive
pytz==2018.9 # via pandas
six==1.12.0 # via python-dateutil
该命令需要联网PyPI获取包的信息。