online-judge-tools / oj

Tools for various online judges. Downloading sample cases, generating additional test cases, testing your code, and submitting it.
MIT License
1.02k stars 88 forks source link

Python 3.12初期環境でojが起動しない #923

Closed blue-jam closed 4 months ago

blue-jam commented 5 months ago

Summary / 概要

Python 3.12環境下で、pipでonline-judge-toolsをインストールしただけでは、ojが正常に起動しません。 原因は、Python 3.12からdistutilsが除去されたためだと考えられます。

一時的な処置として、下記のコマンドで setuptools をインストールするとなおります。

pip3 install setuptools

Steps to reproduce / 再現方法

  1. 注意: setuptools がインストールされていると再現しない。
  2. Python 3.12をインストールする
  3. online-judge-toolsをインストールする
  4. 下記のコマンドを実行する
    oj

environments:

Expected behavior / 期待される挙動

ojのusageが表示される

Actual behavior / 実際の挙動

$ oj
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.12/bin/oj", line 5, in <module>
    from onlinejudge_command.main import main
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/onlinejudge_command/main.py", line 19, in <module>
    import onlinejudge_command.update_checking as update_checking
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/onlinejudge_command/update_checking.py", line 1, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'

Other notes / その他

よろしくお願いします。