python opengl,Python安装配置OpenGL环境的全过程记录

最近学习计算机图形学,需要使用OpenGL,踩了很多雷,最后终于成功了,总结了一下教程和一些踩雷心得

环境:win10_64位系统、PyCharm(本人使用的是python3.8版本)

错误安装如下(错误演示我使用的是python3.6版本)

打开PyCharm,如下图打开设置

3e263cadc77393ef24c3291e5ea4b13f.png

在project untitled中打开python interpreter,如下图所示

a41a6944309fc1634b0475c27010f6f9.png

有的教程是让你在这里直接搜索OpenGL进行安装,然而这里只能安装32位,所以会导致代码是不报错了,可是运行便会报错(glut错误),如下所示

9b5c2b28dff00e8b64726174aea58723.png           

1e9b5c90d432c71118d8688339800563.png

下面是正确安装方法(python3.8演示)

我们不能在PyCharm上直接安装OpenGL,需要在官网上进行下载

链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/

进入后一直向下找,找到PyOpenGL,我的是python3.8版本,就选择下载箭头指的两个文件(cp38:意思就是python3.8版本;amd64:意思就是64位操作系统)

根据自己的版本进行下载

da9c8b8f622416d93946f980971395a9.png

我的是在直接下载到了C盘中,如下所示

38e99768c8e2c90570c0ca6d2d714a5f.png

这两个.whl文件需要使用cmd命令窗口进行命令安装,它会直接安装到你的对应版本的库文件中

5d7ae8beb9ab86efc23f713b526bf2fb.png

0fdfb3e32a7e9bebc9c3b975ec3bda94.png

pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl

pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl

安装成功后,去PyCharm的设置去查看库,如下所示

4ede12b6dccd4a4a3ebced0671f904af.png

这里有个点要注意一下,本人在这里踩了大雷,因为我之前的PyCharm使用的是python3.6版本,所以导致我安装完之后,无法使用,但当我下载了3.6版本的时候,发现系统提示我无法安装,应该是因为我有3.8版本,导致我3.6无法正常去安装,所以这里就需要切换到python3.8的对应路径,如何就可以正常使用了。

如下图,找到自己的python3.8文件夹,然后找到里面的python.exe文件,然后将它的路径添加的下图红框中的地方去,就可以成功导入你python3.8的库了,然后在检查自己库中是否存在PyOpenGL和PyOpenGL-accelerate

9cbbc1ca1d26fd516d8c1dad51f3128e.png

代码测试

from OpenGL.GL import *

from OpenGL.GLU import *

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)

glutIdleFunc(Draw)

glutMainLoop()

测试结果

旋转的立体水壶

2e11c00e9bf52b77dec6ccaa1f17b95f.png

附: “OpenGL.error.NullFunctionError: Attempt to call an undefined function”解决方案

在windows_64下利用命令:pip install pyopengl 安装python的openGL环境。结果运行示例代码出现以下错误:

OpenGL.error.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位下载链接:PyOpenGL‑3.1.1‑win_amd64.whl

下载与自己Python版本合适的,执行命令:pip install XXX.whl 即可正常使用pyopengl环境。

测试环境代码

from OpenGL.GL import *

from OpenGL.GLU import *

from OpenGL.GLUT import *

def drawFunc():

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")

glutDisplayFunc(drawFunc)

#glutIdleFunc(drawFunc)

glutMainLoop()

总结

到此这篇关于Python安装配置OpenGL环境的文章就介绍到这了,更多相关Python安装配置OpenGL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值