gpt4 book ai didi

Python 打包 : Boost library as dependency

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:09 24 4
gpt4 key购买 nike

假设有人要打包依赖于C++ boost库的Python(Cython)库。

什么是配置 setup.py 的最佳方式,以便正确通知用户需要安装 boost 库(即 apt-get install libboost-dev 在 Ubuntu 中,在其他操作系统中等等)?还是将 boost 库包含在 python 包分发中是更好的做法?

最佳答案

这个问题最好问为

What is the best way to distribute a Python extension including an external library dependency.

这更好地处理二进制轮包。

用户不需要了解setup.py,它用于构建和安装源代码。用户只需要下载并安装二进制轮包。

仅包含头文件并不能解决需要库来构建和链接的问题。它还会带来版本不兼容的问题。

所以 setup.py 不需要任何特殊的东西,它只需要知道在哪里可以找到头文件,如果包含库,这些头文件将成为您项目中的子目录,以及要链接的库。

文档应包括有关如何从源代码构建的说明,为此需要的不仅仅是 boost (python 头文件、适当的编译器等)。

类似 auditwheel 的工具然后注意将外部库依赖项捆绑到二进制轮中,因此最终用户无需安装库即可使用您的包。

另见 manylinux用于分发二进制 Python 扩展和 this demo project .

关于Python 打包 : Boost library as dependency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com