get-pip.py 失败并显示“ModuleNotFoundError:没有名为“dataclasses”的模块”

pra*_*nsg 5 python pip

在 Python 3.6 上运行 get-pip.py 时,由于无法导入数据类而失败:

$ python get-pip.py
Traceback (most recent call last):
  File "get-pip.py", line 32710, in <module>
    main()
  File "get-pip.py", line 139, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 115, in bootstrap
    monkeypatch_for_cert(tmpdir)
  File "get-pip.py", line 96, in monkeypatch_for_cert
    from pip._internal.commands.install import InstallCommand
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/commands/__init__.py", line 9, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/cli/base_command.py", line 13, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/cli/cmdoptions.py", line 23, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/cli/parser.py", line 12, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/configuration.py", line 20, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_internal/exceptions.py", line 14, in <module>
  File "/tmp/tmpvq5rjaoc/pip.zip/pip/_vendor/rich/console.py", line 7, in <module>
ModuleNotFoundError: No module named 'dataclasses'
Run Code Online (Sandbox Code Playgroud)

pra*_*nsg 6

您可能使用了https://bootstrap.pypa.io/get-pip.py中的文件,该文件不再与 Python 3.6 兼容——因为最新的 pip 版本不再支持 Python 3.6。

您应该可以使用https://bootstrap.pypa.io/pip/3.6/get-pip.py代替,它使用与 Python 3.6 兼容的版本。