不,PyPI不是问题。相反, 。具体来说,检查失败的软件包上的内部版本号(例如six=py36h0e22d5e_1
),我可以看到它们与osx-64
平台上的软件包相对应,但是您尝试在linux-64
平台上安装,因此无法解决内部版本限制。
最简单的解决方案是从环境定义导出中省略构建信息。
conda env export -n py36 -f py36.yml --no-builds
如果某些软件包无法linux-64
通过Conda获得,仍然可能会出现问题。在这种情况下,您可能需要查找其他通道(或检查PyPI),切换版本或完全删除依赖性。虽然大多数软件包看起来都是标准的。
并不是很重要,但是您可以安全地cvxgrp
从频道中删除。该频道仅提供的过时版本,cvxopt
仅用于osx-64
。
另一个甚至更为宽松定义的选项是仅输出Conda称为 显式规范的内容 。这些仅指示用户已明确请求的那些要求。这包括程序包,但还捕获用户在某些时候提供的任何版本限制等。
conda env export -n py36 -f py36.yml --from-history
这样做的好处是任何平台特定的依赖项都将被忽略。