Ubuntu系统提示OpenGL没安装错误的两种情况
遇到一个小问题,在执行某个脚本的时候,出现No module named OpenGL字样错误提示没有OpenGL。心下一愣,难道纵横驰骋这么久了,我机子里居然连OpenGL都没有?简直闻所未闻岂有此理。于是思维极度跳跃智商极度感人的机智客,看到opengl并不对后,居然跑到系统终端里sudo了。后来才知道是python环境中的pyOpenGL关键词。因此,OpenGL就此拉开本文序幕。
这个有名的API应该不用怎么介绍了吧。OpenGL就是开放图形库,用于渲染2D或3D矢量图形的跨平台跨语言的应用程序编程接口。既然是跨平台,那么我们用Ubuntu系统就能用,既然是跨语言,当然少不了python这种胶水语言了。因此机智客本文中用Ubuntu系统,学习下,OpenGL的两种安装情况,一个是我们熟知的Python环境中,另一个则是在系统的终端中。
在python环境中,它是和其他任何第三方库的安装方式一样,通过pip install的安装方式。比如我们在终端中或者执行某些程序的时候,时不时会碰到类似No module named OpenGL.GL这样的错误提示。往往这个问题是由代码from OpenGL.GL import *引起的。解决方法也很简单,就是安装,用pip install pyOpenGL命令即可安装。
当然了,我们也可以去英文网站上下载whl安装包。也就是去https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl找到你相应python版本的pyopengl文件。一定要选择好相应的版本,比如cp37m表示对应python3.7版本。至于我们很多人用的pycharm的IDE,则要用pycharm的terminal 安装。这个注意一下。一般就是将目录cd到whl文件的目录,然后安装即可。
另外的一种情况,就是在系统终端中用sudo apt-get 安装一些依赖包。这里涉及到三个命令。其一是sudo apt-get install build-essential libgl1-mesa-dev命令。其二是sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev命令。其三则是sudo apt-get install libglfw3-dev libglfw3命令。机智客觉得从这几个命令中我们也可以看出来,这些都是安装的OpenGL的核心库啦、实用函数库啦、实用工具库啦什么的相关依赖和工具。
当我们都安装好了,就可以测试下安装情况。Python环境中就不说了吧,如果代码不出错就代表安装成功。而在系统终端中,则是需要先安装sudo apt install mesa-utils,mesa-utils软件包提供了由Mesa构建的几个基本GL实用程序,包括glxinfo和glxgears。然后就是用glxinfo | grep OpenGL命令了。输入命令查看一下,如果没有问题,OpenGL的相关信息就已经列出来了。如果朋友们遇到过类似的情况,可以参考这个解决一下。