ImportError:无法从“pip._vendor”导入名称“html5lib”(/usr/lib/python3/dist-packages/pip/_vendor/__init__.py)

Dha*_*a07 91 python virtualenv python-3.x ubuntu-20.04 python-3.10

我用来virtualenv为我的 python 项目创建一个 python 虚拟环境。

#command
pwd
#result
/home/dhanusha/Documents/projects/my-project

# command
virtualenv --version
# results
virtualenv 20.10.0 from /usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py
Run Code Online (Sandbox Code Playgroud)

python3.10我尝试使用以下命令创建虚拟环境。我可以创建venv成功。

# creating venv
virtualenv -p /usr/bin/python3.10 venv

# then, I could activate the `venv` environment successfully using the following command.
source venv/local/bin/activate

# after activation python version shows:
python -V
# results
Python 3.10.1

# after activation pip version shows:
pip -V
#results
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

Run Code Online (Sandbox Code Playgroud)

但运行pip list命令时,却显示错误:

#command
pwd
#result
/home/dhanusha/Documents/projects/my-project

# command
virtualenv --version
# results
virtualenv 20.10.0 from /usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py
Run Code Online (Sandbox Code Playgroud)

供您参考:
操作系统:Ubuntu 20.04 LTS
Python -V命令:Python 3.8.10
python3.10 -V命令:Python 3.10.1

我该如何解决这个问题?提前致谢。

Dha*_*a07 271

如果您遇到此错误,请参阅此答案。为了节省您的时间,我将发布我为解决该问题所做的工作。

pip使用以下命令安装最新版本:

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

  • MVP 答案就在那里 (4认同)
  • 这会导致现有的“pip”命令指向新的 pip。如果您有不同的临时 pip 版本,请勿使用。 (2认同)
  • 我在 **python3.10** 之前必须使用 sudo (2认同)
  • 也适用于“python3.11”。 (2认同)