在linux服务器上安装Django应用程序的requirements.txt文件时,我可以运行:
conda install --yes --file requirements.txt
如果Conda(PackageNotFoundError
)中没有任何包可用,则此操作将崩溃。这个bash one行是一个很酷的方式,一次一行地浏览requirements.txt文件source:
while read requirement; do conda install --yes $requirement; done < requirements.txt
这将安装通过Conda可用的所有软件包,而不会在第一个丢失的软件包上崩溃。但是,我希望通过捕获Conda的输出来跟踪失败的包,如果存在PackageNotFoundError
,则在包上运行pip install。
我对bash不太在行,所以希望有人能提出一个建议。另一个解决方案可能是编写一个名为pip-requirements.txt
的新文本文件,其中包含失败的需求。
就我个人而言,我觉得水蟒的环境和包装管理非常出色。因此,如果使用
conda
命令更新python环境中的包,那么我建议使用environment.yml
文件,而不是requirements.txt
。environment.yml
应该如下所示:要安装的命令:
注:
这里我们设置了
name: root
,这是默认的anaconda环境名称。这不是如何使用conda
和environment.yml
文件的标准实践。理想情况下,每个python项目都应该有自己的environment.yml
文件,该文件具有特定于项目的环境名称,即name: project-name
。请通过https://conda.io/docs/user-guide/tasks/manage-environments.html使用水蟒进行包装管理。找到解决方案:
如果conda无法使用包,请运行此命令以使用conda或pip安装:
完成后,可以使用conda导出环境yaml:
将stderr重定向到文件:
相关问题 更多 >
编程相关推荐