it'*_*het 6 python bash pip anaconda
在linux服务器上为Django应用安装requirements.txt文件时,我可以运行:
conda install --yes --file requirements.txt
Run Code Online (Sandbox Code Playgroud)
如果无法通过Conda(PackageNotFoundError)获得任何软件包,则会崩溃。这bash的一个班轮是一个很酷的方式要经过在时间requirements.txt文件中的一行来源:
while read requirement; do conda install --yes $requirement; done < requirements.txt
Run Code Online (Sandbox Code Playgroud)
这将安装通过Conda可用的所有软件包,而不会导致第一个丢失的软件包崩溃。但是,我想通过捕获来自Conda的输出来跟踪失败的软件包,并且PackageNotFoundError在该软件包上运行pip install。
我对bash不太满意,因此希望有人可以提出建议。另一个解决方案可能是只写出一个pip-requirements.txt失败的需求的新文本文件。
我个人认为Anaconda的环境和包管理非常出色。因此,如果您使用该conda命令在python环境中更新软件包,则建议您使用environment.yml文件而不是requirements.txt。
的environment.yml外观如下:
name: root # default is root
channels:
- defaults
dependencies: # everything under this, installed by conda
- numpy==1.13.3
- scipy==1.0.0
- pip: # everything under this, installed by pip
- Flask==0.12.2
- gunicorn==19.7.1
Run Code Online (Sandbox Code Playgroud)
安装命令:
conda env update --file environment.yml
Run Code Online (Sandbox Code Playgroud)
在这里,我们设置name: root默认的anaconda环境名称。这不是如何使用condaand environment.yml文件的标准做法。理想情况下,每个python项目都应该有自己的environment.yml文件,并带有项目特定的环境名称,即name: project-name。请访问https://conda.io/docs/user-guide/tasks/manage-environments.html,了解如何使用Anaconda进行软件包管理。
找到了解决办法:
如果 conda 无法使用该软件包,请运行此命令以使用 conda 或 pip 进行安装:
while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
Run Code Online (Sandbox Code Playgroud)
完成后,您可以使用 conda 导出环境 yaml:
conda env export > environment.yml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5847 次 |
| 最近记录: |