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键有代码提示,则代表安装成功。

浙公网安备 33010602011771号