0

我的纯 python 脚本是 32 位或 64 位不可知的,但我的依赖项不是。我想使用 cython 来加速一些功能,使包不是纯 python。我想在带有 python 32 位或 64 位的 Windows 上使用它们。

有没有办法用 1 个 conda 配方为win32win64平台构建一个 conda python 包?

有人会假设两个平台都可以使用运行时依赖项(例如 Numpy 等)。安装程序可以从 miniconda 32 或 64 位安装开始。

我已经阅读了区分meta.yaml 中buildhost需求、conda 构建变体和架构虚拟包的文档,但我正在努力查看这些功能的巧妙组合是否可以让我一次构建这两个包。

谢谢!

4

2 回答 2

0

经过几次实验,我找到了我的问题的解决方案。如果您将以下内容放入conda_build_config.yaml

target_platform:
  - win-32
  - win-64

并确保您使用的requirements/build:是配方部分中的 Jinja 编译器函数meta.yaml

build:
  - {{ compiler('c')  }}
  - {{ compiler('cxx')  }}

然后conda build将一次性构建win-32win-64打包。(我使用了conda-build 64 位,但我认为这并不重要)。

于 2021-01-19T14:25:57.810 回答
0

编辑:这不起作用


有没有办法用 1 conda recipe 为 win32 和 win64 平台构建 conda python 包?

conda convert --platform all对于延迟执行,或者在 64 位上构建它并conda convert --platform win-32只获得您要求的两个构建。

https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-convert.html

这在技术上是两个步骤(构建和转换),但它可以被包装到另一个脚本中以一次性完成。

于 2020-11-01T03:48:16.690 回答