美文网首页
Sophuspy的安装(Ubuntu18.04)

Sophuspy的安装(Ubuntu18.04)

作者: 爱毯子的小狮子 | 来源:发表于2021-03-24 10:20 被阅读0次

    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项目包。

    相关文章

      网友评论

          本文标题:Sophuspy的安装(Ubuntu18.04)

          本文链接:https://www.haomeiwen.com/subject/lalqhltx.html