首页 > 解决方案 > 如何使用 Windows yml 文件在 Mac 上构建 Conda env?

问题描述

我正在从我在 Windows 的 Miniconda 安装上生成的 yml 创建 Conda 创建环境。我需要在 OS X 上创建相同的环境。按照在此处找到的建议,我使用了该--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我应该等待并相信康达能解决这一切吗?

或者,

我是否需要另一种策略 - 我想知道我是否不能依次删除有问题的软件包,并创建一系列 yml 文件以按顺序$ conda env update --prefix ./env --file environment.yml --prune安装需要在另一台机器上使用它,以便我可以与同事共享项目环境。

还有其他建议吗?

标签: virtualenvconda

解决方案


简短回答:尝试从 .yml 文件中删除系统卡住的包。即,从 .yml 文件中删除“openssl”。

我在尝试将在 Windows 系统中创建的 .yml 文件安装到 Mac 系统时遇到了同样的问题。我基本上遵循了与您相同的程序:

- 使用 --no-builds 选项创建 yml 文件。

- 尝试在 Mac 系统上创建环境,并在 ResolvePackageNotFound 部分下留下了几个特定于 Windows 的包(如下所列)

  • m2w64-libwinpthread-git=5.0.0.4634.697f757
  • pyreadline=2.1
  • pywinpty=0.5.5
  • m2w64-gcc-libgfortran=5.3.0
  • vc=14
  • m2w64-gcc-libs-core=5.3.0
  • m2w64-gmp=6.1.0
  • wincertstore=0.2
  • icc_rt=2019.0.0
  • m2w64-gcc-libs=5.3.0
  • vs2015_runtime=14.15.26706
  • winpty=0.4.3
  • msys2-conda-epoch=20160418

- 从 yml 文件中删除那些

- 尝试从更新的 yml 文件创建环境并收到以下冲突: - 发现冲突!寻找不兼容的软件包。

我的系统在尝试解决“openssl”冲突以及“_tflow_select”时也陷入了困境。我最终删除了这些,并且能够创建我的环境并运行代码而没有太多麻烦。


推荐阅读