如何从conda .yaml规范文件执行python命令?

问题描述

我试图使用.yaml文件列出AzureML environment的conda依赖关系。我不想仅将自定义docker映像用于一些变体。我想知道是否有一种方法可以指示构建使用.yaml文件运行python命令。以下是我到目前为止尝试过的内容的摘录:

name: classifer_environment
dependencies:
- python=3.6.2

- pip:
  - azureml-defaults>=1.0.45
  - nltk==3.4.5
  - spacy

- command: 
  - bash -c "python -m nltk.downloader stopwords"
  - bash -c "python -m spacy download en_core_web_sm"

我也尝试过:

name: classifer_environment
dependencies:
- python=3.6.2

- pip:
  - azureml-defaults>=1.0.45
  - nltk==3.4.5
  - spacy

- python: 
  - nltk.downloader stopwords
  - spacy download en_core_web_sm

关于Yaml规范,我不太清楚。两种规格均在构建日志中均失败,并带有以下消息:
“无法安装命令包。”
“无法为python安装软件包。”

解决方法

这可能是一个整洁的功能,但是现在这还不算什么-至少不是像这样直接在YAML中出现。

相反,Conda中的计算单位是 package 。也就是说,如果您需要在创建环境时运行其他脚本或命令,则可以通过构建自定义程序包并将此程序包作为依赖项包含在YAML中来实现。程序包本身可能几乎是空的,但是任何需要运行的代码都可以通过some installation scripts包含。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...