pyxelでSyntaxError: only named arguments may follow *expressionが出た場合

pyxelでエラー Python

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のサイト

https://github.com/kitao/pyxel/blob/master/README.ja.md

わたしの場合、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を再度インストール。
問題なく動作しました。

コメント

タイトルとURLをコピーしました