如何解决Python 打包:处理来自非 Python 库的依赖
我目前正在开发的 Python 包具有以下依赖项:
- 一个 C++ 库(包含在包的源文件中)
- Google 的 protobuf 和 protoc
- 制作
可以在 https://github.com/bayesmix-dev/pybmix
找到该软件包C++ 库(内部数据交换)和 Python/C++ 接口(C++ 传递给 python 序列化的 protobuf 对象,Python 将它们反序列化)都需要 protobuf 库。
基本上,在 setup.py 中执行以下操作:
- cmake 被调用来编译一个 pybind11 python 包,它是 C++ 库的包装器。 pybind11 包链接到 protobuf。另外,cmake 将一堆 .proto 文件编译成对应的 .pb.h 和 .pb.cc
- 调用protoc 将相同的.proto 文件编译成相应的python 类(另外2to3 用于处理生成文件的相关导入)
现在,我的问题是:以用户友好的方式处理这些依赖关系的最佳方式是什么?我的计划是通过 PyPi 分发这个包,理想情况下应该只输入
pip install pybmix
安装脚本要么自己处理依赖项,要么指向缺失的库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。