python-3.x 获取“pyglet.gl.ContextException:使用pyglet.image.load().get_texture()或pyglet.sprite.Sprite()时无法共享上下文“

mwg9r5ms  于 2023-06-25  发布在  Python
关注(0)|答案(1)|浏览(993)

使用get_texture的代码:

welcome_logo = pyglet.image.load('./assets/images/welcome.png').get_texture()

使用Sprite的代码:

welcome_logo = pyglet.image.load('./assets/images/welcome.png')
welcome_logo = pyglet.sprite.Sprite(welcome_logo)
welcome_logo.scale = 0.5

追溯:

Traceback (most recent call last):
  File "main.py", line 35, in <module>
    main()
  File "main.py", line 29, in main
    window = Window(width=1200, height=750, caption='Pygros', resizable=False)
  File "D:\code\Pygros\main.py", line 14, in __init__
    super(Window, self).__init__(*args, **kwargs)
  File "C:\Users\chen\.virtualenvs\vv_310\lib\site-packages\pyglet\window\win32\__init__.py", line 104, in __init__
    super(Win32Window, self).__init__(*args, **kwargs)
  File "C:\Users\chen\.virtualenvs\vv_310\lib\site-packages\pyglet\window\__init__.py", line 578, in __init__
    self._create()
  File "C:\Users\chen\.virtualenvs\vv_310\lib\site-packages\pyglet\window\win32\__init__.py", line 258, in _create
    self.context.attach(self.canvas)
  File "C:\Users\chen\.virtualenvs\vv_310\lib\site-packages\pyglet\gl\win32.py", line 255, in attach
    super(Win32ARBContext, self).attach(canvas)
  File "C:\Users\chen\.virtualenvs\vv_310\lib\site-packages\pyglet\gl\win32.py", line 202, in attach
    raise gl.ContextException('Unable to share contexts.')

起初我以为是我的Python版本的问题(因为我刚刚重置了我的Windows并升级到了Python 3.11),所以我尝试了Python 3.10,它以前工作得很好,但都不工作
有些人说这是虹膜显卡的问题,但它在同一硬件上工作正常。
我想知道如何解决这个问题

eqqqjvef

eqqqjvef1#

我用自己的方法解决了它。最初,当我使用“pip install pyglet”安装它时,它安装了最新版本的pyglet,即2.0.7版。但是,这个版本与我的笔记本电脑的图形配置不兼容。因此,我决定安装一个旧版本的pyglet,具体来说就是pyglet 1.5.0。安装此版本后,问题得到解决,程序工作正常。
要安装特定版本的pyglet,请用途:“pip install pyglet==1.5.0”。您还可以在以下链接中找到所有pyglet版本的列表:[https://pypi.org/project/pyglet/#history]

相关问题