没有名为 distutils 的模块....但是安装了 distutils?

新手上路,请多包涵

我想升级我的 python 版本(在本例中为 3.10),所以在安装 python3.10 之后,我继续尝试添加一些我使用的模块,例如 opencv ,它遇到了:

 jeremy@jeremy-Blade:~$ python3.10 -m pip install opencv-python
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 16, in <module>
    from pip._internal.cli.main import main as _main  # isort:skip # noqa
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, 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 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 19, in <module>
    from distutils.util import strtobool
ModuleNotFoundError: No module named 'distutils.util'

jeremy@jeremy-Blade:~$ sudo apt-get install python3-distutils
[sudo] password for jeremy:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-distutils is already the newest version (3.8.10-0ubuntu1~20.04).
...
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

由于似乎已经安装了 distutils,我无法理解如何进行。

原文由 jeremy_rutman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 4.6k
2 个回答

看起来 distutils 有版本控制,所以之后

jeremy@jeremy-Blade:~$ sudo apt-get install python3.10-distutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
Setting up python3.10-lib2to3 (3.10.0-1+focal1) ...
Setting up python3.10-distutils (3.10.0-1+focal1) ...

jeremy@jeremy-Blade:~$ python3.10 -m pip install opencv-python

似乎能够继续。

原文由 jeremy_rutman 发布,翻译遵循 CC BY-SA 4.0 许可协议

这为我解决了

sudo apt-get install --reinstall python3.7-distutils

您也可以将 3.7 替换为您的 python 版本

原文由 Ahmed Tremo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进