【发布时间】:2019-10-05 22:47:33
【问题描述】:
我正在从 Windows 的 Miniconda 安装中生成的 yml 创建 Conda 创建环境。我需要在 OS X 上创建相同的环境。按照found here on SO 的建议,我使用了--no-builds 选项。
此外,ResolvePackageNotFound 部分下的某些软件包的名称显然(如果不是全部的话,也有很多)特定于 Windows:
- m2w64-gmp=6.1.0
- m2w64-gcc-libs-core=5.3.0
- m2w64-gcc-libs=5.3.0
- vc=14.1
- vs2015_runtime=15.5.2
- msys2-conda-epoch=20160418
- menuinst=1.4.14
- icc_rt=2019.0.0
- m2w64-libwinpthread-git=5.0.0.4634.697f757
- pywinpty=0.5.5
- wincertstore=0.2
- m2w64-gcc-libgfortran=5.3.0
- win_inet_pton=1.1.0
- winpty=0.4.3
我从 yml 文件中删除了所有这些。即便如此,它仍停留在以下屏幕:
(base) MacBook-Air:Anaconda.d xtian$ conda env create -f 32b-qb-2019-10-05.yml
Collecting package metadata (repodata.json): done
Solving environment: \
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abor|
Examining openssl: 10%|█████████▍ | 29/279 [00:00<00:00, 3729.87it- ]
Comparing specs that have this dependency: 16%|██████████▉ | 16/101 [05:53<31:19, 22.11s/it]
Finding shortest conflict path for openssl[version='>=1.0.2p,<1.0.3a']: 38%|███████████████▊ | 6/16 [02:39<06:23, 38.32s/it]
这个过程的进展速度惊人地慢,而且还没有超过openssl ... 29/279。 我应该等待并相信 Conda 可以解决这一切吗?
或者,
我是否需要另一种策略--
我想知道我是否不能依次删除有问题的包,并创建一系列 yml 文件以按顺序安装,$ conda env update --prefix ./env --file environment.yml --prune,因为无论最终在这里工作,我知道我将需要使用它在另一台机器上,以便我可以与同事共享项目环境。
还有其他建议吗?
【问题讨论】:
-
我会尝试使用
conda env export --from-history制作一个 YAML,然后删除第一个 YAML(使用--no-builds)中不在其中的所有内容。这在确保依赖项使用相似版本方面显然不那么严格,但这至少会匹配您明确请求的所有包。
标签: virtualenv conda