Sophuspy的安装(Ubuntu18.04)

Sophuspy是由craigstar开发的PyPI包。使用了pybind11对C++的Sophus库进行封装。因此我们可以直接用
pip install sophuspy
来安装使用该包。然而却有bug会导致安装不上:在build wheel的时候(即编python的二进制库文件的时候)会找不到pybind11的路径,导致无法安装。

原因:

开发者对如何制作一个成熟的PyPI包并不了解(我也不懂),导致了实际我们用pip安装sophuspy的时候是这样一个过程:直接拉取源码,然后执行其中的setup.py文件。而setup.py会执行CMake的编译工作,在本地编译pybind项目,因此要用find_package()寻找pybind11的路径。当你本机安装过pybind11的时候可以正常编译;然而当你没有的时候就会出错。

解决方法:

正如开发者给出的方法https://gitmemory.com/issue/craigstar/SophusPy/3/571479318,安装一个pybind11就可以解决。要执行make install使得find_package()能够找到 .cmake 文件。如果你的库文件安装在其他的路径还是会找不到。这时候可以尝试下载源码https://github.com/craigstar/SophusPy,修改CMakeLists.txt文件,添加或制定find_package()的搜索路径,然后使用
pip install -e .
安装本地的版本。

希望有大神能够指出怎样制作一个合格的pybind项目包。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容