【发布时间】:2018-06-08 12:42:21
【问题描述】:
在 linux 服务器上为 Django 应用程序安装 requirements.txt 文件时,我可以运行:
conda install --yes --file requirements.txt
如果任何包都不能通过 Conda (PackageNotFoundError) 使用,这将崩溃。这个 bash one liner 是一种很酷的方式,可以一次一行地浏览 requirements.txt 文件 source:
while read requirement; do conda install --yes $requirement; done < requirements.txt
这会安装所有通过 Conda 可用的包,而不会在第一个丢失的包上崩溃。但是,我想通过捕获 Conda 的输出来跟踪失败的包,如果有 PackageNotFoundError,然后在包上运行 pip install。
我不擅长 bash,所以希望有人可以建议一个 hack。另一种解决方案可能是只写出一个名为pip-requirements.txt 的新文本文件,其中包含失败的要求。
【问题讨论】: