pyrender.OffscreenRenderer
报错:
OpenGL.error.GLError: GLError(
err = 12289,
baseOperation = eglInitialize,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7f9010efed40>,
c_long(0),
c_long(0),
),
result = 0
)
首先,扔了egl,用这个就是不可能解决bug的
改成用osmesa,就放在import os后边,否则也可能出错
import os
# os.environ["PYOPENGL_PLATFORM"] = "egl"
os.environ["PYOPENGL_PLATFORM"] = "osmesa"
没有osmesa环境的话要装。不推荐conda装,不过如果你没有root权限可以试一下,命令是:
conda install -c menpo osmesa
来自anaconda官网:https://anaconda.org/menpo/osmesa
装了可以试一下跑不跑得通。我这里出了动态链接库找不着的问题,怎么链接都找不到,所以我建议别这么搞。
如果你可以要到root权限就去要,然后按照pyrender Installation Guide里Getting Pyrender Working with OSMesa这一节来做
这一节虽然建议你从源码装,但真是太麻烦了,所以我建议还是debian装吧,看Installing from a Debian Package这一节,里面说If you’re running Ubuntu 16.04 or newer, you should be able to install the required version of Mesa from my .deb file. 注意要Ubuntu 16.04 or newer的版本,你可以uname -a查看一下你的系统版本
他给的命令是这样的:
sudo apt update
sudo wget https://github.com/mmatl/travis_debs/raw/master/xenial/mesa_18.3.3-0.deb
sudo dpkg -i ./mesa_18.3.3-0.deb || true
sudo apt install -f
其中在执行sudo dpkg -i ./mesa_18.3.3-0.deb || true的时候会报错说你缺少依赖项,建议你装某某依赖项,装了又报缺少依赖项,很烦。不过只要按照他建议的那样apt --fix-broken install
这个问题就能解决。
接着就能很顺利地一路装下去了。最后直接可以用osmesa环境。Over。