質問:Pythonバージョンに関して

Issue #1104 resolved
BlinkOpera created an issue

Pipfile.lockより、Python3.7を使用されていると推察します。

一方でPipfileでは、Python3.8が指定されています。

また、https://devguide.python.org/versions/ より、2023/10/18時点で、3.7はEoLとなっています。

@k4nagatsuki 今後のPythonのバージョンアップ計画があれば教えてください。

Comments (7)

  1. k4nagatsuki repo owner

    開発の停滞により依存関係等もメンテナンスされていない状態です。

    Pipfileは一応作ってみたくらいの仮のもので、現状はpipコマンドによって各ライブラリをインストールする必要がありますが、それもバージョンを指定する必要があります。おそらくReadMe.txtに書いてあるバージョンが最も正確ですが、cx_Freezeとnumpyの兼ね合いで起動できない実行ファイルが出来てしまう等の問題があります。

    これは全て最新にする必要があります。

    現状依存関係が苦しくなっている主な原因はpygame 2系でマルチウィンドウがほぼできなくなっていた事なのですが、pygameの当該Issueには進展がありクローズされているようです。試していないので分かりませんが、最新まで追いつく事は可能かもしれません。

    なお、現状私がビルドに使用している環境でpip listを実行した結果は以下になります。

    Package            Version
    ------------------ ---------
    cx-Freeze          6.1
    cx-Logging         3.0
    flake8             5.0.4
    grapheme           0.6.0
    importlib-metadata 4.12.0
    lhafile            0.3.0
    lief               0.12.1
    mccabe             0.7.0
    mypy               0.971
    mypy-extensions    0.4.3
    numpy              1.21.5
    packaging          21.3
    Pillow             8.4.0
    pip                22.2.2
    pip-review         1.1.1
    pycodestyle        2.9.1
    pyflakes           2.5.0
    pygame             1.9.6
    pyparsing          3.0.6
    pypiwin32          223
    pywin32            303
    regex              2022.9.13
    setuptools         60.2.0
    six                1.16.0
    toml               0.10.2
    tomli              2.0.0
    typing_extensions  4.0.1
    wxPython           4.1.0
    zipp               3.8.1
    

  2. BlinkOpera reporter

    @k4nagatsuki

    おそらくReadMe.txtに書いてあるバージョンが最も正確ですが

    申し訳ありません、見逃しておりました。

    Pipfileは一応作ってみたくらいの仮のもので

    プルリク出すので、Pipfileを整理させてください。
    内容は、上記の現在使用されているもの+ReadMe.txtを参考にします。

  3. BlinkOpera reporter

    @k4nagatsuki

    現状依存関係が苦しくなっている主な原因はpygame 2系でマルチウィンドウがほぼできなくなっていた事なのですが

    guiにpygameではなく、wxpythonを使用しているのは、これが理由でしょうか?

  4. k4nagatsuki repo owner

    その決断をしたのは私ではないのですが(CWPyの原作者は別にいます)、pygame(≒SDL)は基本的に単一画面のゲーム用ライブラリであり、CWのようなマルチウィンドウゲームに向かないので組み合わせたのであろうとは想像できます。また、pygame(≒SDL)にはIMによる日本語入力のようにCWに必要ではあるが欠けている部分があり、そこも足枷になったものと思われます。

    pygame2(≒SDL2)はマルチウィンドウもIMサポートもあるはずです。ただし実際に動いている例は見た事がありません。

  5. BlinkOpera reporter

    @k4nagatsuki

    pygame(≒SDL)は基本的に単一画面のゲーム用ライブラリであり、CWのようなマルチウィンドウゲームに向かないので組み合わせたのであろうとは想像できます。また、pygame(≒SDL)にはIMによる日本語入力のようにCWに必要ではあるが欠けている部分があり、そこも足枷になったものと思われます。

    情報ありがとうございます。調査不足でした。

    pygame2(≒SDL2)はマルチウィンドウもIMサポートもあるはずです。ただし実際に動いている例は見た事がありません。

    pygameのIME対応については、ググってそれっぽい情報が出てくるので、(まだバグがありそうですが)進んでいそうです。

    一方、マルチウィンドウに関しては、ググっても情報が乏しく、怪しい気配です。
    特に、githubを漁った結果、リリース2.0.0の以下の文言を最後に、”multiple window”の文言が登場していません。
    引用元 https://github.com/pygame/pygame/releases?page=3

    Multiple display support, and multiple window support (multi window support is still experimental, more will come in pygame 2.1).

    一応、マルチウィンドウのサンプルがありますが、上記と同じく”experimental”のようです。

    https://github.com/pygame/pygame/blob/main/examples/video.py

  6. Log in to comment