Pythonのレトロゲームエンジンpyxelで作ったプログラムを実行しようとして
SyntaxError: only named arguments may follow *expression
というエラーが出たときは、素直にPythonのバージョンを3.6以上に更新しましょう。(pyxel needs Python3.6 higher/ pyxel需要Python3.6以上)
最新バージョンのPython3.7.1(2018年12月時点)に更新すれば問題ないと思います。
pyxelのサイト
わたしの場合、WindowsのPython 3.4.4の環境でpyxelの解説ページにあった以下のプログラムでエラーが出ました。
実行したプログラム
# -*- coding: utf-8 -*- import pyxel class App: def __init__(self): pyxel.init(160, 120) self.x = 0 pyxel.run(self.update, self.draw) def update(self): self.x = (self.x + 1) % pyxel.width def draw(self): pyxel.cls(0) pyxel.rect(self.x, 0, self.x + 7, 7, 9) App()
エラーメッセージ
Traceback (most recent call last):
File “pyxel_test.py”, line 18, in
App()
File “pyxel_test.py”, line 7, in __init__
pyxel.init(160, 120)
File “C:\Python34\lib\site-packages\pyxel\__init__.py”, line 177, in init
from .app import App
File “C:\Python34\lib\site-packages\pyxel\app.py”, line 490
glfw.set_window_monitor(self._window, None, *self._window_info, glfw.DONT_CARE)
^
SyntaxError: only named arguments may follow *expression
Windowsに最新のPython3.7.1(2018年12月時点)をインストール後、コマンドプロンプトで
pip install pyxel
を実行してpyxelを再度インストール。
問題なく動作しました。
コメント