python通过requirements.txt文件管理工程包

发布时间 2023-11-28 12:53:05作者: 秒秒开心

一:问题

你创建了一个python工程,里面有很多包,怎么让别人拿到这个工程时,知道要安装哪些包,并一键自动全部安装呢?

 

二:解决方案

你可以在你的工程中,执行下面的命令,它可以自动生成你的工程的依赖包清单:

pip freeze > requirements.txt

别人拿到你的工程后,可以执行下面的命令,实现一键批量安装依赖包:

pip install -r requirements.txt

 

三、解释说明

1、生成依赖包

pip freeze > requirements.txt

这里的txt名字可以任意定义,不过最常见的是requirements.txt

 

2、卸载依赖包
如果想要根据依赖包清单自动批量卸载,可以执行下面的命令,只不过依赖包可能存在卸载不干净的情况:

pip uninstall -r requirements.txt -y

 

3、线上备份

#下载所需依赖包到当前路径下的packages/目录下
pip download -r requirements.txt -d packages/ 
#离线还原安装项目所需依赖库
pip install --no-index --find-links=packages/ -r requirements.txt 

采用上面2个命令,你可以进行:
①离线环境部署:你可能需要在没有互联网连接或受限制的网络环境中部署Python项目。在这种情况下,你可以使用pip download命令从具有互联网连接的机器上下载项目的依赖包,并将它们保存到指定目录(例如,packages/目录)。然后,你可以将这些下载的包拷贝到离线环境中,使用pip install命令来安装这些依赖包,而不需要互联网连接。

②版本控制:你可能希望确保项目的依赖包的版本保持不变,以防止新版本引入不兼容性问题。通过将依赖包下载到packages/目录,并将其包含在版本控制系统(如Git)中,你可以确保项目的依赖包版本不会随时间变化,从而提高项目的可重现性。

③加速安装:当需要在多个计算机上部署相同的Python项目,可以使用下载后的依赖包来加速安装过程,而不是每次都从互联网下载依赖包。这对于大型项目或需要部署到多台机器的情况特别有用。