登录
首页 >  文章 >  python教程

Python+Cython+PyAV项目如何构建包含第三方动态链接库的Wheel包?

时间:2024-12-13 19:04:01 323浏览 收藏

本篇文章给大家分享《Python+Cython+PyAV项目如何构建包含第三方动态链接库的Wheel包?》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

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包?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>