Ast*_*One 7 python macos pypi python-extensions python-wheel
如何使用 MacOS 10.15 为向后兼容(MacOS 10.9+)的 MacOS 创建 Python C 扩展轮?
这是我到目前为止:
export MACOSX_DEPLOYMENT_TARGET=10.9
python -m pip wheel . -w wheels --no-deps
python -m pip install delocate
for whl in wheels/*.whl; do
delocate-wheel -w wheels_fixed -v "$whl"
done
Run Code Online (Sandbox Code Playgroud)
不幸的是,pip wheel生成一个文件myapp-0.0.1-cp37-cp37m-macosx_10_15_x86_64.whl,与auditwheelLinux不同的是,delocate-wheel它不会修改轮子的名称。因此,如果我使用 将其上传到 PyPI 上twine,则只有使用 MacOS 10.15 的用户才能使用pip. 我想我可以手动将其重命名为myapp-0.0.1-cp37-cp37m-macosx_10_9_x86_64.whl,但这对我来说听起来不对。
对于构建,我只使用 GitHub Actions MacOS 虚拟机。
谢谢你。
PS:构建使用的编译器是GCC9
我找到了问题的解决方案,我将在这里发布答案,以防其他人遇到同样的问题。
为了解决这个问题,我还必须export MACOSX_DEPLOYMENT_TARGET=10.9在使用安装 python 之前进行设置pyenv。现在pip wheel用标签创建我的轮子macosx_10_9_x86_64。
谢谢。
PS:通过安装python时pyenv,python是从源代码编译的,并且以某种方式考虑了标志MACOSX_DEPLOYMENT_TARGET。