Skip to content

unimport crashes on py3.12 due to distutils removal #297

@mxr

Description

@mxr

Repro steps:

Environment (from here):

  • sys.version: '3.12.0 (main, Oct 2 2023, 12:03:24) [Clang 15.0.0 (clang-1500.0.40.1)]'
  • os.name: 'posix'
  • sys.platform: 'darwin'
  • platform.system(): 'Darwin'
  • platform.python_implementation(): 'CPython'
  • sys.implementation.name: 'cpython'
  • sysconfig.get_platform(): 'macosx-14-arm64'
$ cat example.py
import sys
print('hello world')
$ pip freeze | rg unimport
unimport==1.0.0
$ unimport example.py
Traceback (most recent call last):
  File "/Users/mxr/tmp/venv3.12/bin/unimport", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/__main__.py", line 4, in main
    from unimport.main import Main
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/main.py", line 6, in <module>
    from unimport import commands, utils
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/commands/__init__.py", line 1, in <module>
    from unimport.commands import options
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/commands/options.py", line 5, in <module>
    from unimport.config import Config
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/config.py", line 14, in <module>
    from unimport import constants as C
  File "/Users/mxr/tmp/venv3.12/lib/python3.12/site-packages/unimport/constants.py", line 2, in <module>
    import distutils.sysconfig
ModuleNotFoundError: No module named 'distutils'

See https://docs.python.org/3/whatsnew/3.10.html#distutils-deprecated for more info

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionIssue needs to be discussed and concluded.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions