如何使用Windows yml文件在Mac上构建Conda env?

时间:2019-10-05 22:47:33

标签: virtualenv conda

我正在从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进行安装,因为最终在这里起作用的一切我都知道我需要在另一台机器上使用它,这样我就可以与同事共享项目环境。

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

简短答案:请尝试从.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”问题。我最终删除了这些文件,并能够创建我的环境并运行代码而没有太多麻烦。