我试图通过使用从另一个conda环境生成的requirements.yml文件来创建一个带有miniconda的环境。我对来自频道的包裹有麻烦。
在机器上,使用以下命令从现有环境生成requirements.yml:
(myenv)$ conda env export > requirements.ymlrequirements.yml文件的内容(清除版本号后)如下:
name: myenv
channels: !!python/tuple
- !!python/unicode
'defaults'
dependencies:
- pytest
- conda-forge::pytest-xdist
- pytest-cov
- numpy
- scipy
- pymongo
- auto::pycallgraph
- flask
- conda-forge::flask-restful
- conda-forge::flask-httpauth
- blaze::flask-mongoengine
- hugo::flask-security
- flask-wtf
- wtforms
- conda-forge::mongoengine
- pip:
- descartes
prefix: .miniconda2/envs/myenv上述软件包是通过指定通道“手动”安装的,例如,
$(myenv) conda install -c conda-forge pytest-xdist将requirements.yml传输到另一台计算机(相同的体系结构,linux-64),conda在创建新环境时失败:
$ conda env create --file requirements.yml
Fetching package metadata .......
Solving package specifications: .
Error: Packages missing in current linux-64 channels:
- conda-forge::pytest-xdist
- auto::pycallgraph
- conda-forge::flask-restful
- conda-forge::flask-httpauth
- blaze::flask-mongoengine
- hugo::flask-security
- conda-forge::mongoengine似乎conda不能解析语法<channel>::<package name>。
系统使用:码头形象连续/迷你。
您是否知道如何从规范文件中很好地创建一个新环境(例如,对于持续集成很有用)?
发布于 2016-11-17 14:59:02
解决方案1:
将conda更新到4.2.12版(在我的例子中为4.1 )
conda update conda然后通过加载需求文件创建环境。
conda env create -f requirements.yml解决方案2:
在文件的channels部分中添加通道的名称,并在包列表中删除通道名称:
name: myenv
channels: !!python/tuple
- !!python/unicode
'defaults'
- !!python/unicode
'auto'
- !!python/unicode
'conda-forge'
- !!python/unicode
'blaze'
- !!python/unicode
'hugo'
dependencies:
- pytest
- pytest-xdist
- pytest-cov
- numpy
- scipy
- pymongo
- pycallgraph
- flask
- flask-restful
- flask-httpauth
- flask-mongoengine
- flask-security
- flask-wtf
- wtforms
- mongoengine
- pip:
- descartes
prefix: .miniconda2/envs/myenvhttps://stackoverflow.com/questions/40619682
复制相似问题