如何为Allosaurus Python模块跨平台下载对应Wheels包?
跨平台下载allosaurus及依赖Wheels包解决方案
一、精准指定平台参数下载
要获取对应平台的完整Wheels,必须严格匹配Blender使用的Python版本、平台架构和CPython实现标签,以下是各平台的具体命令:
Windows平台(amd64)
直接使用Blender自带的pip工具避免版本不兼容(替换路径为你的Blender安装路径):
"C:\Program Files\Blender Foundation\Blender 4.0\4.0\python\bin\pip.exe" wheel allosaurus -w ./wheels-win
如果用本地Python,确保版本与Blender一致(比如3.11),命令同上。
Mac平台(arm64)
修正平台标签和参数,避免下载旧版本:
pip download allosaurus --dest ./wheels-mac --only-binary=:all: --python-version=311 --platform=macosx_12_0_arm64 --implementation cp --abi cp311
- 说明:
python-version需用311而非3.11,implementation cp指定CPython环境,abi cp311匹配Python3.11的ABI标准。 - 若仍无法获取新版本,说明allosaurus未发布该平台预编译Wheel,需在Mac环境下手动构建(见下文)。
Linux平台(x86_64)
针对主流Linux发行版,使用manylinux_2_17通用标签:
pip download allosaurus --dest ./wheels-linux --only-binary=:all: --python-version=311 --platform=manylinux_2_17_x86_64 --implementation cp --abi cp311
二、解决依赖版本兼容与重复下载问题
Mac平台scipy与torch兼容性
scipy的macosx_12_0_arm64和torch的macosx_11_0_arm64完全兼容:
- macOS Wheel的版本标签代表最低系统要求,
macosx_12_0_arm64要求系统≥12,macosx_11_0_arm64要求≥11,只要目标Mac系统≥12,两者均可正常运行。
避免numpy多版本重复下载
- 先查看allosaurus依赖的numpy版本:
pip show allosaurus | grep Requires - 指定固定版本下载numpy:
pip download numpy==1.26.4 --dest ./wheels-mac --only-binary=:all: --python-version=311 --platform=macosx_12_0_arm64 - 下载allosaurus时跳过依赖,再手动下载其他指定版本的依赖:
pip download allosaurus --dest ./wheels-mac --no-deps --only-binary=:all: --python-version=311 --platform=macosx_12_0_arm64 --implementation cp --abi cp311
三、处理无预编译Wheel的依赖
若部分依赖仅提供源码包,可通过以下方式生成Wheel:
- 对应平台本地构建:在目标平台(Mac/Linux)安装Blender的Python环境,运行:
<blender-python-path>/pip.exe wheel <package-name> -w ./wheels - Linux交叉编译:在Windows上用Docker启动Linux容器,安装对应Python版本,执行上述构建命令。
- Mac远程构建:用GitHub Actions创建简单工作流,指定Mac arm64环境,构建后下载生成的Wheels。
四、验证Wheels可用性
下载完成后,检查Wheel文件名是否匹配平台:
- Windows:
xxx-cp311-win_amd64.whl - Mac arm64:
xxx-cp311-macosx_12_0_arm64.whl - Linux x86_64:
xxx-cp311-manylinux_2_17_x86_64.whl
在对应平台的Blender中测试安装:
<blender-python-path>/pip.exe install --no-index --find-links=./wheels allosaurus
内容的提问来源于stack exchange,提问作者kitfox
相关产品推荐
相关产品推荐

