html5lib / html5lib-python

Standards-compliant library for parsing and serializing HTML documents and fragments in Python
MIT License
1.13k stars 284 forks source link

Python 3.10 support #537

Closed sanderbrauwers closed 1 year ago

sanderbrauwers commented 3 years ago
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 19, 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/install.py", line 24, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  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)
tp1050 commented 2 years ago

Same here https://stackoverflow.com/questions/70132656/pip-fails-with-python3-10-python3-11/70132674#70132674

hugovk commented 2 years ago

What exactly did you do to get this issue?

This traceback is from a vendored copy of html5lib in pip. What version of pip do you have?

hugovk commented 2 years ago

I suggest closing this as invalid as this was a problem with an old version of pip and not html5lib.

And all the tests are passing on 3.10: https://github.com/html5lib/html5lib-python/pull/542.

EvanCarroll commented 2 years ago

@hugovk how can it be closed as invalid when you have an open (uncommitted) patch that points to this? I'm confused. =/

hugovk commented 2 years ago

The ImportError in the first message was in pip and has been fixed.

The PR adds Trove classifiers and testing, so it doesn't directly relate to this but, if this issue is not closed first, the PR might as well do so as it demonstrates this is no longer a problem.