Python+Cython+PyAV项目如何构建包含第三方动态链接库的Wheel包?
python+cython+pyav如何构建包含第三方动态链接库的wheel包?
问题答案:需要使用auditwheel、delocate这样的工具
参考:
python 第三方包安装路径site-packages下的以.libs结尾的路径是干嘛的?
how to build and distribute a python/cython package that depends on third party libfoo.so
how to build whl with numpy.libs
在linux存储这些第四方动态链接库,一般都是放在第三方包同级的xxx.libs文件夹下面
但是好像不也全是这样,比如linux下的pandas包,是放到pandas/_libs/下面的
自述文件给出构建轮子包的说明:
python setup.py sdist bdist_wheel
注意事项:
生成的轮子包可能不包含第三方动态链接库,因此需要使用auditwheel repair修复它们:
auditwheel repair av-10.0.0-cp310-cp310-linux_x86_64.whl
需要注意,此时的轮子包名称会变成:
wheelhouse/av-10.0.0-cp310-cp310-manylinux_2_35_x86_64.whl
最后,为了确保轮子包是兼容的,还需要使用delocate工具:
delocate wheelhouse/av-10.0.0-cp310-cp310-manylinux_2_35_x86_64.whl dist
这样就生成了包含第三方动态链接库的轮子包了。
以上就是Python+Cython+PyAV项目如何构建包含第三方动态链接库的Wheel包?的详细内容,更多请关注硕下网其它相关文章!