Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用conda build在一次运行中构建win32和win64包_Python_Windows_Conda_Conda Build - Fatal编程技术网

Python 使用conda build在一次运行中构建win32和win64包

Python 使用conda build在一次运行中构建win32和win64包,python,windows,conda,conda-build,Python,Windows,Conda,Conda Build,我的纯python脚本是32位或64位不可知的,但我的依赖项不是。我想使用cython来加速一些函数,使包不是纯python的。我想在windows上使用32位或64位python 有没有一种方法可以使用1 conda配方为win32和win64平台构建一个conda python包 我们可以假设两种平台都有运行时依赖项(例如Numpy等)。安装程序可以从miniconda 32位或64位安装开始 我已经阅读了区分meta.yaml中的构建、主机需求、conda构建变体和体系结构虚拟包的文档,但

我的纯python脚本是32位或64位不可知的,但我的依赖项不是。我想使用cython来加速一些函数,使包不是纯python的。我想在windows上使用32位或64位python

有没有一种方法可以使用1 conda配方为
win32
win64
平台构建一个conda python包

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

我已经阅读了区分meta.yaml中的
构建
主机
需求、conda构建变体和体系结构虚拟包的文档,但我很难确定这些功能的巧妙组合是否允许我一次性构建这两个包


谢谢

编辑:这不起作用


有没有一种方法可以使用conda配方为win32和win64平台构建conda python包

conda convert--platform all
用于延迟执行,或者将其构建在64位和
conda convert--platform win-32
上,以仅获取您要求的两个构建


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

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

target_platform:
  - win-32
  - win-64
build:
  - {{ compiler('c')  }}
  - {{ compiler('cxx')  }}
并确保您正在使用配方
meta.yaml
requirements/build:
部分中的Jinja编译器函数:

target_platform:
  - win-32
  - win-64
build:
  - {{ compiler('c')  }}
  - {{ compiler('cxx')  }}

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

conda convert只适用于纯python软件包,当我开始使用cython时,情况就不是这样了,这就是我对文档的理解。你是对的,对错误的答案表示歉意