Pyglet(Python 2.7)的上下文错误

Pyglet(Python 2.7)的上下文错误,python,python-2.7,opengl,pyglet,Python,Python 2.7,Opengl,Pyglet,我正在尝试为Pyglet运行以下测试代码: import pyglet pyglet.options['shadow_window'] = False # Specify the OpenGL version explicitly to request 3.0 features, including # GLSL 1.3. # Enable depth buffer and double buffering as well config = pyglet.gl.Config(doub

我正在尝试为Pyglet运行以下测试代码:

    import pyglet

pyglet.options['shadow_window'] = False

# Specify the OpenGL version explicitly to request 3.0 features, including
# GLSL 1.3.
# Enable depth buffer and double buffering as well
config = pyglet.gl.Config(double_buffer = True, 
                          depth_size = 24, 
                          major_version=3, 
                          minor_version=2, 
                          forward_compatible = True)

# Create a context matching the above configuration.  Will fail if
# OpenGL 3 is not supported by the driver.
window = pyglet.window.Window(config=config, visible=False)

# Print the version of the context created.
print('OpenGL version:', window.context.get_info().get_version())
print('OpenGL 3.2 support:', window.context.get_info().have_version(3, 2))

window.close()
但是,我收到了错误消息

Traceback (most recent call last):
  File "C:\Users\dwill\Downloads\test (1)\pyglet_ogl3.py", line 16, in <module>
    window = pyglet.window.Window(config=config, visible=False)
  File "C:\Python27\lib\site-packages\pyglet\window\win32\__init__.py", line 131, in __init__
    super(Win32Window, self).__init__(*args, **kwargs)
  File "C:\Python27\lib\site-packages\pyglet\window\__init__.py", line 559, in __init__
    self._create()
  File "C:\Python27\lib\site-packages\pyglet\window\win32\__init__.py", line 261, in _create
    self.context.attach(self.canvas)
  File "C:\Python27\lib\site-packages\pyglet\gl\win32.py", line 198, in attach
    'OpenGL 3 contexts.')
ContextException: Require WGL_ARB_create_context extension to create OpenGL 3 contexts.
回溯(最近一次呼叫最后一次):
文件“C:\Users\dwill\Downloads\test(1)\pyglet\u ogl3.py”,第16行,在
window=pyglet.window.window(config=config,visible=False)
文件“C:\Python27\lib\site packages\pyglet\window\win32\\ uuuu init\uuuuu.py”,第131行,在\uuu init中__
超级(Win32Window,self)。\uuuuu初始化(*args,**kwargs)
文件“C:\Python27\lib\site packages\pyglet\window\\uuuu init\uuuu.py”,第559行,在uu init中__
self._create()
文件“C:\Python27\lib\site packages\pyglet\window\win32\\uuuu init\uuuuu.py”,第261行,在创建
self.context.attach(self.canvas)
文件“C:\Python27\lib\site packages\pyglet\gl\win32.py”,第198行,附件
“OpenGL 3上下文。”)
ContextException:需要WGL\u ARB\u create\u上下文扩展来创建OpenGL 3上下文。

我的硬件是NVIDIA 650M和最新的驱动程序。pyglet目录中的测试文件已成功运行。

Geforce 650M应该可以很好地支持GL 3.2,而nivida当然支持
WGL\u ARB\u create\u context
扩展。由于这似乎是一个移动平台,我只能猜测你可能在一个使用nvidia“optimus”技术的笔记本电脑上,同时存在nvidia GPU和intel IGP,而你最终使用了错误的GPU。我验证了我使用的是nvidia GPU,我在我的桌面上得到了相同的错误,它有2个970。我的OpenGL版本是4.4版,在做了一些研究之后,pyglet显然无法识别我的OpenGL版本,但我找不到一个修复方法,Geforce 650M应该支持GL 3.2,nivida当然支持
WGL\u ARB\u create\u context
扩展。由于这似乎是一个移动平台,我只能猜测你可能在一个使用nvidia“optimus”技术的笔记本电脑上,同时存在nvidia GPU和intel IGP,而你最终使用了错误的GPU。我验证了我使用的是nvidia GPU,我在我的桌面上得到了相同的错误,它有2个970。我的OpenGL版本是4.4版,在做了一些研究之后,pyglet显然无法识别我的OpenGL版本,但我找不到修复方法