Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oj no longer works with Python3.12 #930

Open
alexz1205 opened this issue Jul 25, 2024 · 2 comments
Open

oj no longer works with Python3.12 #930

alexz1205 opened this issue Jul 25, 2024 · 2 comments

Comments

@alexz1205
Copy link

alexz1205 commented Jul 25, 2024

Summary / 概要

It appears oj relies on the distutils module for it's functionality, which is no longer supported as of Python3.12. Link

Steps to reproduce / 再現方法

  1. Installed latest version of python on a new computer
  2. Successfully installed oj with pip3
  3. Ran into the following error.
    Screenshot 2024-07-24 212336

environments:

  • oj version unknown, persumably latest
  • python version 3.12
  • Windows

Expected behavior / 期待される挙動

  • Successfull install and run of oj

Actual behavior / 実際の挙動

  • oj installs but fails to run

Install and Run log

C:\Users\xxxxxx>pip3 install online-judge-tools
Collecting online-judge-tools
  Using cached online_judge_tools-11.5.1-py3-none-any.whl.metadata (9.1 kB)
Collecting online-judge-api-client<11,>=10.9.0 (from online-judge-tools)
  Using cached online_judge_api_client-10.10.1-py3-none-any.whl.metadata (16 kB)
Collecting colorama<1,>=0.3 (from online-judge-tools)
  Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting requests<3,>=2 (from online-judge-tools)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting appdirs>=1 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB)
Collecting beautifulsoup4>=4 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
Collecting colorlog>=4.1.0 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached colorlog-6.8.2-py3-none-any.whl.metadata (10 kB)
Collecting lxml>=4 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached lxml-5.2.2-cp312-cp312-win_amd64.whl.metadata (3.5 kB)
Collecting toml>=0.10 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
Collecting jsonschema>=3.2 (from online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
Collecting charset-normalizer<4,>=2 (from requests<3,>=2->online-judge-tools)
  Using cached charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests<3,>=2->online-judge-tools)
  Using cached idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3,>=2->online-judge-tools)
  Using cached urllib3-2.2.2-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests<3,>=2->online-judge-tools)
  Using cached certifi-2024.7.4-py3-none-any.whl.metadata (2.2 kB)
Collecting soupsieve>1.2 (from beautifulsoup4>=4->online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached soupsieve-2.5-py3-none-any.whl.metadata (4.7 kB)
Collecting attrs>=22.2.0 (from jsonschema>=3.2->online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=3.2->online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached jsonschema_specifications-2023.12.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema>=3.2->online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema>=3.2->online-judge-api-client<11,>=10.9.0->online-judge-tools)
  Using cached rpds_py-0.19.1-cp312-none-win_amd64.whl.metadata (4.2 kB)
Using cached online_judge_tools-11.5.1-py3-none-any.whl (47 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached online_judge_api_client-10.10.1-py3-none-any.whl (185 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Using cached beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
Using cached certifi-2024.7.4-py3-none-any.whl (162 kB)
Using cached charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl (100 kB)
Using cached colorlog-6.8.2-py3-none-any.whl (11 kB)
Using cached idna-3.7-py3-none-any.whl (66 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached lxml-5.2.2-cp312-cp312-win_amd64.whl (3.8 MB)
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Using cached urllib3-2.2.2-py3-none-any.whl (121 kB)
Using cached attrs-23.2.0-py3-none-any.whl (60 kB)
Using cached jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB)
Using cached referencing-0.35.1-py3-none-any.whl (26 kB)
Using cached rpds_py-0.19.1-cp312-none-win_amd64.whl (211 kB)
Using cached soupsieve-2.5-py3-none-any.whl (36 kB)
Installing collected packages: appdirs, urllib3, toml, soupsieve, rpds-py, lxml, idna, colorama, charset-normalizer, certifi, attrs, requests, referencing, colorlog, beautifulsoup4, jsonschema-specifications, jsonschema, online-judge-api-client, online-judge-tools
Successfully installed appdirs-1.4.4 attrs-23.2.0 beautifulsoup4-4.12.3 certifi-2024.7.4 charset-normalizer-3.3.2 colorama-0.4.6 colorlog-6.8.2 idna-3.7 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 lxml-5.2.2 online-judge-api-client-10.10.1 online-judge-tools-11.5.1 referencing-0.35.1 requests-2.32.3 rpds-py-0.19.1 soupsieve-2.5 toml-0.10.2 urllib3-2.2.2

[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: python.exe -m pip install --upgrade pip

C:\Users\xxxxxx>oj -t --help
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\xxxxxx\Python\Python312\Scripts\oj.exe\__main__.py", line 4, in <module>
  File "C:\Users\xxxxxx\Python\Python312\Lib\site-packages\onlinejudge_command\main.py", line 19, in <module>
    import onlinejudge_command.update_checking as update_checking
  File "C:\Users\xxxxxx\Python\Python312\Lib\site-packages\onlinejudge_command\update_checking.py", line 1, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'

C:\Users\xxxxxx>oj --version
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\xxxxxx\Python\Python312\Scripts\oj.exe\__main__.py", line 4, in <module>
  File "C:\Users\xxxxxx\Python\Python312\Lib\site-packages\onlinejudge_command\main.py", line 19, in <module>
    import onlinejudge_command.update_checking as update_checking
  File "C:\Users\xxxxxx\Python\Python312\Lib\site-packages\onlinejudge_command\update_checking.py", line 1, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'
@kzrnm
Copy link
Contributor

kzrnm commented Jul 25, 2024

This is a duplicate of #923, and fixed in #925.

However, it has not been released because there is no one who has the authority for PyPI. #929

@alexz1205
Copy link
Author

Oh, ok. I didn’t see any open issues about it so I made a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants