Python安装配置OpenGL环境的全过程记录
最近学习计算机图形学,需要使⽤OpenGL,踩了很多雷,最后终于成功了,总结了⼀下教程和⼀些踩雷⼼得
环境:win10_64位系统、PyCharm(本⼈使⽤的是python3.8版本)
错误安装如下(错误演⽰我使⽤的是python3.6版本)
打开PyCharm,如下图打开设置
在project untitled中打开python interpreter,如下图所⽰
有的教程是让你在这⾥直接搜索OpenGL进⾏安装,然⽽这⾥只能安装32位,所以会导致代码是不报错了,可是运⾏便会报错(glut错误),如下所⽰
下⾯是正确安装⽅法(python3.8演⽰)
我们不能在PyCharm上直接安装OpenGL,需要在官⽹上进⾏下载
进⼊后⼀直向下,到PyOpenGL,我的是python3.8版本,就选择下载箭头指的两个⽂件(cp38:意思就是python3.8版本;amd64:意思就是64位操作系统)
根据⾃⼰的版本进⾏下载
我的是在直接下载到了C盘中,如下所⽰
这两个.whl⽂件需要使⽤cmd命令窗⼝进⾏命令安装,它会直接安装到你的对应版本的库⽂件中
pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl
安装成功后,去PyCharm的设置去查看库,如下所⽰
这⾥有个点要注意⼀下,本⼈在这⾥踩了⼤雷,因为我之前的PyCharm使⽤的是python3.6版本,所以导致我安装完之后,⽆法使⽤,但当我下载了3.6版本的时候,发现系统提⽰我⽆法安装,应该是因为我有3.8版本,导致我3.6⽆法正常去安装,所以这⾥就需要切换到python3.8的对应路径,如何就可以正常使⽤了。
如下图,到⾃⼰的python3.8⽂件夹,然后到⾥⾯的⽂件,然后将它的路径添加的下图红框中的地⽅去,就可以成功导⼊你python3.8的库了,然后在检查⾃⼰库中是否存在PyOpenGL和PyOpenGL-accelerate
代码测试
from OpenGL.GL import *建网站哪个平台好
from OpenGL.GLU import *
insert语句怎么插空值from OpenGL.GLUT import *
def Draw():
glClear(GL_COLOR_BUFFER_BIT)
glRotatef(0.5, 0, 1, 0)
glutWireTeapot(0.5)
glFlush()
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("test")
glutDisplayFunc(Draw)
lnmp开启pathinfo
glutIdleFunc(Draw)
glutMainLoop()
测试结果
旋转的⽴体⽔壶
附: “NullFunctionError: Attempt to call an undefined function”解决⽅案select region
在windows_64下利⽤命令:pip install pyopengl 安装python的openGL环境。结果运⾏⽰例代码出现以下错误:NullFunctionError: Attempt to call an undefined function glutInitDisplayMode, check for
bool(glutInitDisplayMode) before calling
原因分析
主要是你的windows是64位的,但是使⽤命令pip install pyopengl 安装后,执⾏⽰例默认使⽤的是pyopengl_32位的,所以出现了以上错误!
解决⽅案
在Windows_64上安装64位的pyopengl 即可,pyopengl_64位下载链接:
下载与⾃⼰Python版本合适的,执⾏命令:pip install XXX.whl 即可正常使⽤pyopengl环境。
测试环境代码
from OpenGL.GL import *
from OpenGL.GLU import *
shell脚本多个if
from OpenGL.GLUT import *
def drawFunc():
pycharm python安装教程glClear(GL_COLOR_BUFFER_BIT)
#glRotatef(1, 0, 1, 0)
glutWireTeapot(0.5)
glFlush()
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
#参数为b类型⽽不是string
glutCreateWindow(b"First")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。