如何在Windows平台构建仅支持linux-64的Conda Python包?
如何在Windows平台直接构建仅支持linux-64的conda包
解决方案1:通过conda build命令指定目标平台
直接在conda build命令中添加--platform参数,强制以linux-64作为目标平台构建,conda会跳过当前win-64平台的依赖检查,转而解析linux-64环境下的依赖:
conda build --platform linux-64 .
执行后会直接生成linux-64平台的conda包,无需先构建Windows包再做转换。
解决方案2:优化meta.yaml的依赖配置(更严谨)
在meta.yaml中使用平台选择器标记仅linux平台需要的依赖,让依赖声明更清晰,避免其他平台解析时出错:
package: name: device version: 1.0.0 source: path: ../ build: entry_points: - Starter = device:main script: "{{ PYTHON }} -m pip install . -vv" requirements: build: - python - setuptools run: - python>=3.10 - pytango>=9.3.6 - slsdetlib==6.1.2 # [linux] - slsdet==6.1.2 # [linux] - bidict>=0.22.1 - numpy>=1.24.1
修改完成后,同样执行以下命令构建linux-64包:
conda build --platform linux-64 .
注意事项
- 你的包是纯Python编写,无平台相关编译步骤,跨平台构建完全可行
- 确保conda-build版本足够新(建议>=3.20.0),旧版本对跨平台构建的支持有限
- 如果遇到依赖找不到的情况,可在命令中添加指定conda通道,例如
conda build --platform linux-64 -c conda-forge .,确保linux-64版本的依赖能被正确索引
内容的提问来源于stack exchange,提问作者Leonid Lunin
相关产品推荐
相关产品推荐

