【发布时间】:2019-12-17 15:24:49
【问题描述】:
我正在尝试打包我们的代码库以进行部署。该包还需要在 requirements.txt 中包含所有依赖包。过去我所做的是为项目设置一个 virtualenv,并将代码库与 virtualenv 站点包一起打包。我想知道是否有更简单的方法来获取 requirements.txt 中的所有依赖项并将它们与他们的依赖项和我的代码库一起打包。
谢谢。
感谢所有 cmets 和建议,我想我找到了我要找的东西。我结束了创建一个临时文件夹(pip install --target ./temp),我的脚本在其中解析 requirements.txt 并将其中的所有模块安装到临时文件夹中。这使我能够隔离我需要的所有模块及其依赖项。
【问题讨论】:
-
看起来其他人也有同样的问题;似乎有一些有用的程序可以做到这一点。也许这会有所帮助? List dependencies in Python
-
“打包”到底是什么意思?创建一个 ZIP 文件?还是 Python 轮子?
-
@deceze,压缩包
-
您是否有特定的工具可以执行此操作,或者您是否手动执行此操作?虽然有时需要将程序打包为包含依赖项的 ZIP,但这并不常见。仅打包程序本身并包含一个 list 依赖项,然后可以根据需要获取这些依赖项更为常见。当您确实需要一个 ZIP 文件(想到 AWS Lambda 等)时,通常会有专门的工具来处理打包。一些上下文在这里会有所帮助。
-
@deceze,是的,我正在为 aws lambda 创建包,我使用了一些工具,例如无服务器。但是为此,我不能使用我们组织尚未批准的一些工具,所以我坚持自己打包。目前我正在考虑使用 zipfile 执行一个简单的 python 脚本,但我需要一种方法来获取所有依赖项。
标签: python