首页 > 解决方案 > 安装过程中python的requirements.txt有什么限制吗?

问题描述

安装过程中python的requirements.txt有什么限制吗?

我试图公开搜索这个答案,但我找不到是否可以从 requirements.txt 一次安装大量软件包。

为了给你更多关于这种奇怪情况的背景信息,我开始在 CTFQ21EmpireTmp 工作,我发现他们将他们的 python 包存储在他们的私有存储库中。我正在研究一个分析所有这些包的项目,因此我设法检索了 requirements.txt 中的所有包名称(实际上是数十亿个私有包)。检索包名称并不是很困难,因为所有包名称都遵循ctf-q21-empire-tmp-[a-z0-9\-]{5,10}正则表达式(所有正则表达式组合几乎都存在)。

我在问是否有任何限制,因为包的数量很大,我不希望分析中止,特别是分析会很快(我们正在使用扩展基础设施,这意味着安装所有这些包应该在不到 5 分钟内完成。问题是由于安装每 5 分钟运行一次,以确保尽快分析存储的私有包,我们正在禁用安装输出。这就是为什么我不相信有一种方法可以检查 requirements.txt 长度或行数是否存在问题。

我不知道从以下命令的第一部分传递到第二部分的内容是否可以被破坏(对于管道来说太多了|)。基本上,我们使用的是这个命令: cat requirement.txt | pip3 install -I 并使用以下配置/etc/pip.conf

[global]
extra-index-url = http://<private_IP_and_port>/simple/
trusted-host = <private_IP>

有了这个,包是从私有存储库安装的。

我们避免使用该参数安装软件包,-r requirements.txt以避免来自 pip3 的任何问题。

对于任何好奇如果一个项目被停用会怎样的人,早在数十亿个软件包开始安装之前,旧的已安装软件包就会被删除(最初甚至没有从公共存储库中安装的 pip 软件包)。

谢谢

标签: python-3.x

解决方案


我回来就这个问题提供反馈。我们在使用管道时没有发现任何错误 | 将来自 requirements.txt 的内容传递给 pip3 命令。所以我可以解决这个问题,因为文件的长度没有限制


推荐阅读