跳转至

psbody 安装

0. 安装环境

psbody 属于 Mesh 依赖包,用于读取保存 Obj 文件。

但由于其年代过于遥远而且无人维护,对于安装环境有着相当严苛的要求。

笔者使用的是 Win11 下的 WSL-Ubuntu 20.04 版本作为安装的操作系统。

Ubuntu 版本相关

Ubuntu 18.04 也可进行 psbody 的安装。据笔者亲测 Ubuntu 22.04 可能出现无法安装的问题,不建议使用。

1. 仓库克隆

psbody 无法使用 conda 或者 pip 一键下载安装,需要将仓库克隆到本地进行编译

在终端中输入下列命令进行克隆

git clone https://github.com/MPI-IS/mesh.git

2. 配合 Conda 安装

使用 Conda 创建的虚拟环境进行安装准备

conda create --name vName python=3.8.19

创建好虚拟环境后进行环境激活

conda activate vName

激活环境后,需要使用 apt 来下载 boost 包

sudo apt-get install libboost-dev

做好上述准备后,进入之前克隆的仓库目录

编辑目录中的 Makefile 文件

--install-option -> --config-settings

修改好后进行编译安装

BOOST_INCLUDE_DIRS=/usr/include/boost make all

3. 可能出现的 OpenGL 问题

编译好文件后,由于 OpenGL 等依赖问题,输入 make tests 后可能出现相关报错。

报错 AttributeError: 'NoneType' object has no attribute 'eglGetCurrentContext'

这时需要安装 Python 中的 OpenGL

输入下列命令

pip install PyOpenGL PyOpenGL_accelerate
sudo apt-get install libosmesa6-dev freeglut3-dev
sudo apt-get install libglfw3-dev libgles2-mesa-dev
sudo apt-get install libosmesa6

完成上述安装后进行 make tests 可顺利通过,此时 psbody 安装完成!