Python项目生成requirements的三种方式

conda list --export > requirements_conda.txt
pip freeze > requirements_pipfreeze.txt
pipreqs ./ --encoding=utf8

第一种方式

第一种方式适用于通过conda来管理/安装项目依赖包,生成的文件内容如下:


image.png

第二种方式

第二种方式适用于通过pip来管理/安装项目依赖包,生成的文件内容如下:

image.png

这种方式的缺点为:

pip freeze only saves the packages that are installed with pip install in your environment.
pip freeze saves all packages in the environment including those that you don’t use in your current project (if you don’t have virtualenv).
and sometimes you just need to create requirements.txt for a new project without installing modules.

所以看到通过这种方式生成的requirements文件中,通过conda安装的包并不能给出包版本,而是@ file:////...这种形式。

第三种方式

如果没有使用虚拟环境,或虚拟环境中有很多项目没有使用的包,则上面两种方式都将环境中的所有包版本记录在requirements文件中,不便于项目移植,这时候需要第三种方式:


image.png

安装依赖包

pip install -r requirements.txt
pip install -r requirements.txt --target=D:\project\venv\Lib\site-packages
pip install --no-index --find-links=./ -r requirements.txt
pip install --no-index --find-links=/local/wheels -r requirements.txt
conda install --use-local xxx.tar.bz2

上面第一条命令默认安装到全局的环境中
如果上面的命令不能安装到指定Python版本的虚拟环境中,则
可用pycharm,进入命令行,运行:

py -m pip install --no-index --find-links=./ -r requirements.txt

参考:
python生成requirements.txt的两种方法python脚本之家 (jb51.net)
我的项目在conda环境中使用的软件包-python黑洞网 (pythonheidong.com)
pipreqs · PyPI
User Guide - pip documentation v22.1.2 (pypa.io)

你可能感兴趣的:(Python项目生成requirements的三种方式)