Python 3.6.4 Arcade模块窗口错误? {pyglet.gl.lib.GLException:b'invalid enumerant'}

时间:2019-03-28 18:26:23

标签: python python-3.x exception window

更新:

我检查了计算机上安装的图形卡。

“工作”的一个具有Nvidia图形,另一个具有“设备管理器”中显示适配器下的Intel HD R图形。我假设Intel HD R图形驱动程序不足(不包含所需的OpenGL吗?)。

要使街机模块正常工作,我需要在Intel HD R图形计算机上获得什么?

原始问题:

遇到一个非常奇怪的问题,我编写的python代码在一台计算机上可以运行,而不能在另一台计算机上运行,​​而且我不确定为什么...

我在两台计算机上都安装了Python 3.6.4。 任何版本为3.6 +的版本都应该能够运行Arcade模块。

这是我的代码,非常简单的内容:

# import needed modules
import random
import arcade

arcade.open_window(800, 600,'most awesome nothing', False)
arcade.set_background_color(arcade.color.BLUE)
arcade.start_render()

python = arcade.Sprite(r"C:\Users\The Cube\Desktop\STUDENT FILES\Python Game Projects - Teens\diamond.png")

python.center_x = 200
python.center_y = 200
python.draw()

arcade.finish_render()
arcade.run()

在一台计算机上工作正常,但在另一台计算机上,出现此错误:

代码格式:

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
 RESTART: C:\Users\The Cube\Desktop\STUDENT FILES\Python Game Projects - Teens\phoenix is a cool cat.py 
Traceback (most recent call last):
  File "C:\Users\The Cube\Desktop\STUDENT FILES\Python Game Projects - Teens\phoenix is a cool cat.py", line 5, in <module>
    arcade.open_window(800, 600,'most awesome nothing', False)
  File "C:\Users\The Cube\AppData\Local\Programs\Python\Python36-32\lib\site-packages\arcade\application.py", line 384, in open_window
    _window = Window(width, height, window_title, resizable, update_rate=None)
  File "C:\Users\The Cube\AppData\Local\Programs\Python\Python36-32\lib\site-packages\arcade\application.py", line 56, in __init__
    gl.glEnable(gl.GL_MULTISAMPLE_ARB)
  File "C:\Users\The Cube\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pyglet\gl\lib.py", line 105, in errcheck
    raise GLException(msg)
pyglet.gl.lib.GLException: b'invalid enumerant'
>>> 

截屏: enter image description here

问题:为什么它可以在一台计算机上运行而不能在另一台计算机上运行?

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

该行代码支持OpenGL多重采样。抗锯齿是必需的。显卡/驱动程序组合似乎不支持。

您可以使用<div class="empleadores"> <div class="lista-empleadores lista-empleadores-1"> <div class="vista-empleador"> </div> </div> <button onclick="nuevoEmpleador()"></button> <div class="lista-empleadores lista-empleadores-2"> <div class="vista-empleador"> </div> </div> <button onclick="nuevoEmpleador()"></button> </div> 创建一个arcade.Window实例,但是不幸的是,您使用的lista-empleadores命令在2.0.1中不支持。

如果不支持多重采样,则会出现一个问题,可以正常降级:

https://github.com/pvcraven/arcade/issues/339