为通用 PyPI 包构建的 Conda:我需要为哪些 Python 版本构建?

Conda build for universal PyPI package: which Python versions do I need to build for?

我正在为基于相应 PyPI 包的纯 Python 包创建一个 conda 构建。

以防万一:PyPI 包是通用的,即它是使用命令 python setup.py sdist bdist_wheel --universal 生成的,并且适用于 Python 2 和 Python 3。

当我在 conda 环境 运行 特定 Python 版本(如 2.7)中构建 conda 时,生成的包文件也在其文件名中包含该版本。

我知道我可以使用 build variants 构建多个 Python 变体,例如,我可以构建 3.4、3.5 和 3.6。但是我应该这样做并将所有这些包上传到 anacondacloud,还是生成的包是多余的?

(到目前为止我已经上传了2.7和3.6的版本,我注意到当我在Python 3.4 conda环境中安装时,conda下载了Python 3.6。这表明我应该上传对于所有版本,但另一方面,当我在 anaconda 云上访问我的软件包的网站时,那里没有任何内容表明该软件包可用于不同的 Python 版本。如果重要的话,我希望看看那里的信息。)

您可以在 meta.yaml 文件的 build 部分使用 noarch 选项。

build:
  number: 0
  noarch: python
...

这允许您上传一个 conda 包,该包可用于您在 requirements 部分中设置为兼容的所有 Python 版本。另见 documentation