LINUX上のスキンチェックエラー
pygame 2.5.1 (SDL 2.28.2, Python 3.10.12)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1229, in init_skin
data = self._update_skin(path)
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1553, in _update_skin
cw.util.release_mutex()
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 2591, in acquire
return f(*args, **kwargs)
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 5349, in release_mutex
assert isinstance(fio, io.FileIO)
AssertionError
Traceback (most recent call last):
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1229, in init_skin
data = self._update_skin(path)
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1553, in _update_skin
cw.util.release_mutex()
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 2591, in acquire
return f(*args, **kwargs)
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 5349, in release_mutex
assert isinstance(fio, io.FileIO)
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/bandal/cardwirthpy-reboot/cw/frame.py", line 1713, in OnInit
frame = Frame(self)
File "/home/bandal/cardwirthpy-reboot/cw/frame.py", line 42, in init
self._setting.init_settings()
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1156, in init_settings
self.init_skin(basedata=basedata)
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1238, in init_skin
raise Exception()
Exception
ーーーーー
Linux Mint 21.2 Victoria Xfce 4.18.1の環境で、スキンチェックエラーとともに以上のメッセージが出ます。
Windows版のデータフォルダを入れてみたり、メッセージ内のPyファイルに実行権限を与えたりもしたのですが、もう私の方から試す術が思いつきません、一目通していただけるととても助かります。
Comments (7)
-
repo owner -
repo owner - changed status to open
-
reporter ご対応ありがとうございます。
-
以下の環境でも再現しました。
pygame 2.3.0 (SDL 2.24.2, Python 3.10.12)
Ubuntu 22.04.3 LTS
commit 928bd27de3129722b3463d519c7c00230c02dedf
ブランチ master
報告された、以下のTracebackに関して、
pygame 2.5.1 (SDL 2.28.2, Python 3.10.12)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1229, in init_skin
data = self._update_skin(path)
File "/home/bandal/cardwirthpy-reboot/cw/setting.py", line 1553, in _update_skin
cw.util.release_mutex()
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 2591, in acquire
return f(*args, **kwargs)
File "/home/bandal/cardwirthpy-reboot/cw/util.py", line 5349, in release_mutex
assert isinstance(fio, io.FileIO)
AssertionErrorutil.py#lines-5349 のfioは、期待したio.FileIOではなく、_io.BufferedWriterでした。
上記、fioは util.py#lines-5292 で、生成されます。
open()の戻り値型は、modeとbufferingに依拠するようです。
-
@k4nagatsuki
本件、linux環境において、スキンの初期化に失敗するバグ修正 にて解決済みなので、ステータスresolvedへの移行を推します。 -
repo owner ありがとうございます。そうさせていただきます。
-
repo owner - changed status to resolved
- Log in to comment
ご報告ありがとうございます。
現状、ライブラリのバージョンの都合でLinuxデスクトップ上での実行はかなり難しくなっていると思われます。なんらかのWINE実行環境が用意できるならそれを使用した方がいいかもしれません。
このケースについては、おそらくpygameが2系(2.5.1)なのが原因だと思われます。pygameが2系になると共に1.9.6までできていた他のGUIツールキットとの連携ができなくなっていたため(中身がSDL2になったためと思われる)、CWPyが動かなくなりました。ですので動かすにはpygameを1.9.6にし、周囲の環境もそれに合わせるという事になるかと思うのですが、いかんせん何年も前の環境なので難しいように思われます。