我最近将 Ubuntu 18.04 系统从 升级python3.7
到python3.8
。我现在想安装一个python3.8
软件包。因此,我运行:python3.8 -m pip install xyz
,其中xyz
是软件包名称(例如,我尝试了torch
、numpy
和opencv-python
作为软件包名称,所有三个软件包都给出相同的结果)。但是,这给出了以下错误消息:
File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 29, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/usr/lib/python3/dist-packages/pip/utils/__init__.py", line 23, in <module>
from pip.locations import (
File "/usr/lib/python3/dist-packages/pip/locations.py", line 9, in <module>
from distutils import sysconfig
ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.8/distutils/__init__.py)
于是,我查看了 的内容/usr/lib/python3.8/distutils
。确实,没有名为 的模块sysconfig
。实际上,只有两个文件:__init__.py
和。但是,当我查看中的version.py
相同内容时,我可以看到模块。python3.7
/usr/lib/python3.7/distutils
sysconfig
然后我尝试通过运行重新安装:dstutils
。但是,这给了我以下错误消息:python3.8
sudo apt-get install python3.8-distutils
E: Unable to locate package python3.8-distutils
E: Couldn't find any package by glob 'python3.8-distutils'
E: Couldn't find any package by regex 'python3.8-distutils'
所以现在,我真的陷入困境!我似乎需要distutils
安装任何软件包,但我的安装distutils
似乎不完整。然而,我似乎无法distutils
使用进行安装apt get
。
请问有人可以帮忙吗?
答案1
一个答案:
Ubuntu 包管理器(即apt
或)apt-get
严重依赖于正在运行的 Python;依赖程度如此之高,以至于不容易替换或更新 Python 安装。
另请注意:截至 20.04,Ubuntu 中没有安装 python2。
任何与上述类似的问题;简单的解决方法是重新安装。