ImportError: no se puede importar el nombre ‘html5lib’ de ‘pip._vendor’ (/usr/lib/python3/dist-packages/pip/_vendor/__init__.py) [duplicate]

3 minutos de lectura

yo suelo virtualenv para crear un entorno virtual de python para mi proyecto de 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

Traté de crear un virtual python3.10 medio ambiente usando el siguiente comando. podría crear venv exitosamente.

# 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)

Pero cuando corre pip list comando, muestra un error:

(venv) dhanusha@dhanusha-pc:~/Documents/projects/my-project$ pip list
Traceback (most recent call last):
  File "/home/dhanusha/Documents/projects/my-project/venv/local/bin/pip", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 73, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/list.py", line 13, in <module>
    from pip._internal.cli.req_command import IndexGroupCommand
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 15, in <module>
    from pip._internal.index.package_finder import PackageFinder
  File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 21, in <module>
    from pip._internal.index.collector import parse_links
  File "/usr/lib/python3/dist-packages/pip/_internal/index/collector.py", line 12, in <module>
    from pip._vendor import html5lib, requests
ImportError: cannot import name 'html5lib' from 'pip._vendor' (/usr/lib/python3/dist-packages/pip/_vendor/__init__.py)
(venv) dhanusha@dhanusha-pc:~/Documents/projects/my-project$ 

Para tu información:
SO: Ubuntu 20.04 LTS
Python -V dominio: Python 3.8.10
python3.10 -V dominio: Python 3.10.1

¿Cómo puedo solucionar este problema? Gracias de antemano.

  • Esto también es válido para python 3.11 y pip 20.0.2

    – kaleissin

    7 sep 2022 a las 9:22

Si se ha enfrentado a este error, consulte esta respuesta. Para ahorrarle tiempo, publicaré lo que he hecho para resolver el problema.

Instala lo último pip con el siguiente comando:

curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10

  • Respuesta de MVP allí mismo

    – Db0

    1 de septiembre de 2022 a las 23:04

  • Eso hace que exista pip comandos para apuntar a un nuevo pip. No lo use si tiene una versión de pip temporal diferente.

    – reducción de la actividad

    4 de marzo a las 8:10

¿Ha sido útil esta solución?