python安装g2opy与pagolin踩坑记录

0x00. 前言

本文是在python环境下跑slam时配置环境的一点记录,感谢代码作者uoip的贡献

项目代码:
g2opy:https://github.com/uoip/g2opy
pangolin:https://github.com/uoip/pangolin

0x01. 安装

笔者的环境是使用anaconda搭建的虚拟环境,由于一开始没有激活虚拟环境导致踩坑,之后虽然指定了python版本但仍然没有安装成功,后面发现是因为cmake时生成的文件通过make clean指令无法清除,需要手动删除build文件夹下的文件再重新cmake.

故需要重点注意:
1、编译之前先激活虚拟环境
2、修改cmake条件时应手动清除build文件夹下的文集
3、不要使用sudo命令进行编译、安装

之后步骤基本跟随github上readme的内容,如果在编译g2opy时代码报错,请跟随该issue修改源码:
https://github.com/uoip/g2opy/issues/48
若不能成功安装,尝试指定python版本编译

cmake .. -DPYBIND11_PYTHON_VERSION=3.6

在pangolin中,setup.py文件中存在错误,将对应代码修改为如下形式:

def run(self):
        install_dir = get_python_lib()
        install_dirs = [install_dir]

        lib_file = glob.glob(__library_file__)
        assert len(lib_file) == 1 and len(install_dirs) >= 1     

        print('copying {} -> {}'.format(lib_file[0], install_dirs[0]))
        shutil.copy(lib_file[0], install_dir)

另外在pangolin安装时确保setup文件夹下只有一个.so文件,否则安装也会报错。

0x02. 测试

打开终端,激活虚拟环境,输入python进入python命令行,输入
import g2o
如果不报错且继续输入g2o按tab键有代码提示,则代表安装成功。

posted @ 2023-04-04 21:40  geekfuns  阅读(1117)  评论(0)    收藏  举报