AttributeError при запуске команды open_window из модуля Python Arcade - PullRequest
0 голосов
/ 01 апреля 2019

Я только что установил Python 3 и модуль arcade на свой MacBook и пытаюсь следовать простому учебнику Hello World: https://opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade

Импорт аркады работает, но как только я добавлю, добавьте следующеестрока, чтобы открыть пустое окно, возвращает только AttributeError:

Traceback (most recent call last):
  File "/Users/nitrox/Code/spielereien/arc-test.py", line 2, in <module>
    arcade.open_window(600, 300, "Drawing Example")
  File "/usr/local/lib/python3.7/site-packages/arcade/application.py", line 384, in open_window
    _window = Window(width, height, window_title, resizable, update_rate=None)
  File "/usr/local/lib/python3.7/site-packages/arcade/application.py", line 53, in __init__
    resizable=resizable, config=config)
  File "/usr/local/lib/python3.7/site-packages/pyglet/window/__init__.py", line 643, in __init__
    self._create()
  File "/usr/local/lib/python3.7/site-packages/arcade/monkey_patch_pyglet.py", line 81, in _create
    self.context.attach(self.canvas)
  File "/usr/local/lib/python3.7/site-packages/pyglet/gl/cocoa.py", line 289, in attach
    self._nscontext.setView_(canvas.nsview)
AttributeError: 'NoneType' object has no attribute 'setView_'

К сожалению, решение, предложенное в AttributeError с Pyglet и https://github.com/pvcraven/arcade/issues/264, не сработало.В моем рабочем каталоге нет файлов с именем arcade.py и т. Д.

Как мне это сделать?

Код:

import arcade

arcade.open_window(600, 600, "Drawing Example")
arcade.set_background_color(arcade.color.AIR_SUPERIORITY_BLUE)
arcade.start_render()
arcade.draw_lrtb_rectangle_filled(5, 35, 590, 570, arcade.color.BITTER_LIME)
arcade.finish_render()
arcade.run()

1 Ответ

0 голосов
/ 01 апреля 2019

Проблема, кажется, в конкретной версии аркады (2.0.1). Я удалил текущую версию:

pip3 uninstall arcade

и переустановил предыдущую версию (2.0.0):

pip3 install arcade==2.0.0

Это решает проблему и запускает пример.

...