我想在我的conda环境文件中指定确切的版本。我已经安装了最新版本,方法是在我的environment.yaml中添加未版本化的条目,然后再添加conda env update
。
# environment.yaml
channels:
- conda-forge
- bioconda
- r
- defaults
dependencies:
- gawk=4.2.1
- plink # new package -- get the latest
通过以下方式更新环境:
$ conda env update -n myenv -f environment.yaml
...
plink-1.90b4-h 100% |#################| Time: 0:00:00 1.63 MB/
一个特定的(最新)版本“ 1.904b4-h”被拉出,但是似乎被截断了,并且不能完全反映一个conda软件包的版本。我该如何使用conda期望的版本字符串更新环境?
答案 0 :(得分:1)
我发现的一种方法是使用conda list
生成环境中包含的所有软件包的列表(可以选择使用-f
将其过滤为特定的软件包,在这种情况下,“ plink“):
$ conda list -n myenv -f plink --json
[
{
"base_url": null,
"build_number": 2,
"build_string": "h0a6d026_2",
"channel": "bioconda",
"dist_name": "plink-1.90b4-h0a6d026_2",
"name": "plink",
"platform": null,
"version": "1.90b4",
"with_features_depends": null
}
]
还有一个非json输出选项,它在外观上比较容易,但可能需要grepping / awk'ing:
$ conda list -n genomics-py36 -f plink
# packages in environment at /home/foo/envs/myenv:
#
plink 1.90b4 h0a6d026_2 bioconda
注意:对于您的脚本:conda list
始终以代码0退出,无论是否找到软件包。
然后,您可以使用正确的版本来修改environment.yaml文件:
# environment.yaml updated
channels:
...
dependencies:
...
- plink=1.90b4
...