Ubuntu 20.04 Python 3.10 pip导入错误

Elg*_*rov 10 python python3 20.04

我最近在我的 ubuntu 20.04 中安装了 python 3.10。我的安装步骤是:

apt install python3.10
apt install python3.10-dev
apt install python3.10-distutils
Run Code Online (Sandbox Code Playgroud)

问题是关于pip. 当我尝试安装任何错误时它崩溃:

ImportError: cannot import name 'html5lib' from 'pip._vendor' (/usr/lib/python3/dist-packages/pip/_vendor/__init__.py)
Run Code Online (Sandbox Code Playgroud)

我的系统上安装了python 版本3.6 - 3.9 。此问题仅出现在 python 版本中3.10。这个问题的原因和解决方法是什么?

小智 3

我通过进入 pipelinev shell 并在那里安装 pip 解决了完全相同的症状:

pipenv shell
curl -sS https://bootstrap.pypa.io/get-pip.py | python
Run Code Online (Sandbox Code Playgroud)

这导致:

Collecting pip
  Using cached pip-21.3.1-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-21.3.1
Run Code Online (Sandbox Code Playgroud)

之后事情开始按预期进行并pipenv install取得成功。无数其他安装和重新安装 python/pip/pipenv 的方法都失败了,很多时候都出现相同的导入错误。


Tho*_*ger -1

你最好使用 pyenv 和/或 virtualenv。有些库与不同的 python 版本不兼容。此外,pip 不知道您要安装所请求的库的 python 版本。

这里有一些教程或者去youtube搜索一下。

https://realpython.com/intro-to-pyenv/ https://docs.python.org/3/library/venv.html