Pyglet - TypeError: ожидаемая строка или буфер
Я пытаюсь использовать pyglet вместо pygame, потому что он поддерживает несколько экранов. это пример кода, который я запускаю:
import pyglet
display = pyglet.canvas.get_display()
screens = display.get_screens()
window = pyglet.window.Window(fullscreen=True, screen=screens[1])
pyglet.app.run()
и я получаю эту ошибку:
Отслеживание (последний вызов последним): файл "/home/pi/netcomShopTV/idk.py", строка 5, в файле window = pyglet.window.Window() "/usr/local/lib/python2.7/dist-packages / pyglet / init.py ", строка 359, в файле импорта getattr (имя_импорта)"/usr/local/lib/python2.7/dist-packages/pyglet/window/ init.py ", строка 1890, в gl._create_shadow_window() Файл "/usr/local/lib/python2.7/dist-packages/pyglet/gl/init.py", строка 209, в _create_shadow_window _shadow_window = Window(width=1, height=1, visible=False) Файл "/usr/local/lib/python2.7/dist-packages/pyglet/window/xlib/init.py", строка 171, в init super(XlibWindow, self).в этом(*args, **kwargs) Файл "/usr/local/lib/python2.7/dist-packages/pyglet/window/init.py", строка 642, в файле init self._create() "/usr / local /lib/python2.7/dist-packages/pyglet/window/xlib/ init.py ", строка 265, в _create self.context.set_vsync(self._vsync) # XXX? Файл "/usr/local/lib/python2.7/dist-packages/pyglet/gl/xlib.py", строка 265, в set_vsync warnings.warn(e) TypeError: ожидаемая строка или буфер
Версия Pyglet: 1.4.8
Я искал в Интернете, не нашел ничего, что могло бы решить эту проблему.
2 ответа
Похоже, что эта ошибка возникла в результате недавнего изменения. Вы обязательно должны поднять егоpyglet
трекер проблем на github.
А пока попробуйте установить версию до 1.4.8. (Я подозреваю, что это может просто привести к сбою при неудачной синхронизации, а не к попытке предупредить вас, а затем к сбою:)).
Как упоминал @alecxe, это была ошибка. После того, как я открыл тикет на github, я получил решение:
Это исключение для конкретной проблемы с Raspberry Pi. Он должен выдать предупреждение и пройти без сбоев. Если возможно, не могли бы вы попробовать отредактировать строку 265 в /usr/local/lib/python2.7/dist-packages/pyglet/gl/xlib.py и изменить:
warnings.warn (e) в warnings.warn(e.message)