Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python 3.13, ModuleNotFoundError: No module named 'distutils' [duplicate]

Environment: Kubuntu 22.04 | 6.5.0-17 Kernel Python: Old 3.10 -> New 3.13

Wanted to try the new python version, so i added the repo in my installation and sudo apt installed python3.13 (Installed: python3.13 python3.13-dev python3.13-minimal)

Then i tried to install all my old packages(the ones that have a 3.13 version) with this python script (using my old python)

pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
                         stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
    sbp.run("python3.13 -m pip install " + pkg['name'], shell=True)

and im greeted with errors. I then tried to do it from the terminal manually to try and see whats wrong. Type python3.13 -m pip install SomePackage, i get:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 29, in <module>
    from pip._internal.cli.main import main as _main
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
    from pip._internal.cli.parser import ConfigOptionParser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/parser.py", line 12, in <module>
    from pip._internal.configuration import Configuration, ConfigurationError
  File "/usr/lib/python3/dist-packages/pip/_internal/configuration.py", line 26, in <module>
    from pip._internal.utils.logging import getLogger
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/logging.py", line 27, in <module>
    from pip._internal.utils.misc import ensure_dir
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 39, in <module>
    from pip._internal.locations import get_major_minor_version
  File "/usr/lib/python3/dist-packages/pip/_internal/locations/__init__.py", line 14, in <module>
    from . import _distutils, _sysconfig
  File "/usr/lib/python3/dist-packages/pip/_internal/locations/_distutils.py", line 9, in <module>
    from distutils.cmd import Command as DistutilsCommand
ModuleNotFoundError: No module named 'distutils'

And its not just for one package, but for all of them.

What can i do to fix this? Thank you in advance

I tried installing and reinstalling python, nothing changed

tried python3.13 -m pip install setuptools ,just throws the error above

tried python3.13 -m pip install --upgrade setuptools, just throws the error above

tried sudo apt install python3.13-distutils, doesnt exist

tried sudo apt install python3.13-setuptools, doesnt exist

like image 433
YasuoTouchedMySpaggett Avatar asked Jul 23 '26 22:07

YasuoTouchedMySpaggett


1 Answers

You can try to force reinstall pip from scratch with ensurepip. The newest pip wont have a dependency on distutils:

python3.13 -m ensurepip --upgrade --default-pip
like image 116
viblo Avatar answered Jul 26 '26 12:07

viblo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!