我在 Ubuntu 20.04 系统上已经安装好 python3.7,然后手动安装 pip:

首先,下载 get-pip.py 文件:

1
wget https://bootstrap.pypa.io/get-pip.py

然后等该文件下载完后,使用以下命令安装 pip:

1
python3.7 get-pip.py

结果出现以下错误信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ python3.7 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 32321, in <module>
main()
File "get-pip.py", line 135, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 111, in bootstrap
monkeypatch_for_cert(tmpdir)
File "get-pip.py", line 92, in monkeypatch_for_cert
from pip._internal.commands.install import InstallCommand
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/commands/__init__.py", line 9, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/cli/base_command.py", line 15, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/cli/cmdoptions.py", line 24, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/cli/parser.py", line 12, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/configuration.py", line 26, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/utils/logging.py", line 29, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/utils/misc.py", line 44, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/locations/__init__.py", line 66, in <module>
File "/tmp/tmpk9odbp_y/pip.zip/pip/_internal/locations/_distutils.py", line 20, in <module>
ModuleNotFoundError: No module named 'distutils.cmd'

从错误信息 ModuleNotFoundError: No module named ‘distutils.cmd’ 看是缺少 distutils 模块,便使用 apt-get 命令来安装该模块:

1
2
3
4
5
6
7
$ apt-get install python3-distutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-distutils is already the newest version (3.8.10-0ubuntu1~20.04).
python3-distutils set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

安装完成后,继续执行 python3.7 get-pip.py 命令来安装 pip,结果报同样的错误信息。我该如何处理?


这个错误表示你的 Python 环境中缺少 distutils 模块,导致 import 失败。
要解决这个错误,你需要安装 distutils 模块,一般可以直接通过 apt-get 命令安装 python3-distutils 包来解决缺失问题。从你安装该模块的信息可以看到,你已经安装了该包,只不过该包的版本并没有跟你现在 Python 的版本对应上。

你安装的 python3-distutils 包对应的 Python 版本为 3.8.10,而你的 Python 版本为 3.7。

为解决这个 Python 版本问题,你应该使用以下命令来安装:

1
apt-get install python3.7-distutil 

(END)