2025-09-10T00:23:14,819 Created temporary directory: /tmp/pip-build-tracker-y8a2xdni 2025-09-10T00:23:14,820 Initialized build tracking at /tmp/pip-build-tracker-y8a2xdni 2025-09-10T00:23:14,820 Created build tracker: /tmp/pip-build-tracker-y8a2xdni 2025-09-10T00:23:14,820 Entered build tracker: /tmp/pip-build-tracker-y8a2xdni 2025-09-10T00:23:14,820 Created temporary directory: /tmp/pip-wheel-z8q2n23h 2025-09-10T00:23:14,824 Created temporary directory: /tmp/pip-ephem-wheel-cache-5mghba6n 2025-09-10T00:23:14,882 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-10T00:23:14,884 2 location(s) to search for versions of obj2html: 2025-09-10T00:23:14,884 * https://pypi.org/simple/obj2html/ 2025-09-10T00:23:14,884 * https://www.piwheels.org/simple/obj2html/ 2025-09-10T00:23:14,885 Fetching project page and analyzing links: https://pypi.org/simple/obj2html/ 2025-09-10T00:23:14,885 Getting page https://pypi.org/simple/obj2html/ 2025-09-10T00:23:14,886 Found index url https://pypi.org/simple/ 2025-09-10T00:23:15,038 Fetched page https://pypi.org/simple/obj2html/ as application/vnd.pypi.simple.v1+json 2025-09-10T00:23:15,042 Found link https://files.pythonhosted.org/packages/85/e8/1e9d4a9a7782af977434b1e9eed137fe54cf5d314201f847db56f5f62a39/obj2html-0.1.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.1 2025-09-10T00:23:15,043 Found link https://files.pythonhosted.org/packages/fe/bb/74d66826e712ad5b25ffabb35dd2cb8c7ac1d6c75d1c5c185bd227001fae/obj2html-0.2.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.2 2025-09-10T00:23:15,043 Found link https://files.pythonhosted.org/packages/fa/14/13aef68d0fb67876ce245c66c028a4c60a7dc9b9d4f6036bbd02f8dda260/obj2html-0.3.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.3 2025-09-10T00:23:15,044 Found link https://files.pythonhosted.org/packages/e7/0c/3c5f6a9ebfb4414cf154ae5b05fecb61dce0740ef2ebd158725eb3b93c35/obj2html-0.4.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.4 2025-09-10T00:23:15,044 Found link https://files.pythonhosted.org/packages/36/f8/e5b6e362887410de935cc2244578de2da18deeae77320a366903c7824f05/obj2html-0.5.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.5 2025-09-10T00:23:15,045 Found link https://files.pythonhosted.org/packages/21/9e/faaf69ce665fc4d21be95a4a208a1bdadee100fdcebfda39f5e4fa3716d1/obj2html-0.6.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.6 2025-09-10T00:23:15,045 Found link https://files.pythonhosted.org/packages/5b/f0/91069d75c0661c825225ac2f02f58e1f3044d773fab4f750c3b5f1755554/obj2html-0.7.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.7 2025-09-10T00:23:15,046 Found link https://files.pythonhosted.org/packages/8b/c0/07cbf37cde7974cd39c6b4411034015310cf59e4f52a4006e7718a5e817d/obj2html-0.8.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.8 2025-09-10T00:23:15,046 Found link https://files.pythonhosted.org/packages/18/fc/a7e7f96053ec478bc5fdbf62ad439045b2361ba0293dc967043a9603d20a/obj2html-0.10.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.10 2025-09-10T00:23:15,047 Found link https://files.pythonhosted.org/packages/2e/9f/10aa444703610cd3af05236a8830254bf55e8abdbce41ef01422a311079b/obj2html-0.11.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.11 2025-09-10T00:23:15,047 Found link https://files.pythonhosted.org/packages/8e/91/32198812de3bf9e7a118cb2ed897e6c5d4a3b65c2c83f75f3fc11b3726d2/obj2html-0.12.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.12 2025-09-10T00:23:15,047 Found link https://files.pythonhosted.org/packages/7e/35/3caf02e4dfab1a35cbfa08882684ebb7e63bd073751cb481f051420eec1c/obj2html-0.13.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.13 2025-09-10T00:23:15,047 Found link https://files.pythonhosted.org/packages/96/df/1000cca188cd81bc00186f1b89b89791d8a36120e23eb006247a377d99bb/obj2html-0.14.tar.gz (from https://pypi.org/simple/obj2html/), version: 0.14 2025-09-10T00:23:15,048 Fetching project page and analyzing links: https://www.piwheels.org/simple/obj2html/ 2025-09-10T00:23:15,048 Getting page https://www.piwheels.org/simple/obj2html/ 2025-09-10T00:23:15,049 Found index url https://www.piwheels.org/simple/ 2025-09-10T00:23:15,149 Fetched page https://www.piwheels.org/simple/obj2html/ as text/html 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.14-py3-none-any.whl#sha256=dcd2acf40c960986e0fdc95d7e582201c6bdc76251c0670ddce03839de4ef09c (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.13-py3-none-any.whl#sha256=866ea534c870ea1cf88f04b674941237d81c1afdab1b360e14a243d772fc35f0 (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.12-py3-none-any.whl#sha256=a6a051ef65905ae3719141a4598dc2152253a19f4de18728174d6aeaf1885ae4 (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.11-py3-none-any.whl#sha256=73526c5c7d621f2ac34663eeb8f180f6c44765f0cc0c769d8d7eb64ec9236e5e (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.8-py3-none-any.whl#sha256=affe8289da394f2fa4c99ff0afa1036d52e1ae4fa19786a414a4a55c0f7e768a (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.5-py3-none-any.whl#sha256=7757c80086ec0ce374d997c136fd72f4eef260727aa4c6e132f90fbbf3eaf781 (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.4-py3-none-any.whl#sha256=253cf3ed44187a82ad54a703a39df5f4344c3005cb5e84a14c77f142a3bb8818 (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,152 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.3-py3-none-any.whl#sha256=64ae23821f6b4c3e62f334e2e410effb6c86e461578b7477e5c35bb935a935a9 (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,153 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.2-py3-none-any.whl#sha256=bfbb5030fc6a3fed15004ee573a94376a3c9d6bdedb10dd45408c6797b61e75f (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,153 Skipping link: No binaries permitted for obj2html: https://archive1.piwheels.org/simple/obj2html/obj2html-0.1-py3-none-any.whl#sha256=465c1db45a6629bce5127060dc843c208e1121977a40ff06ce5556e4af1d373c (from https://www.piwheels.org/simple/obj2html/) 2025-09-10T00:23:15,153 Skipping link: not a file: https://www.piwheels.org/simple/obj2html/ 2025-09-10T00:23:15,153 Skipping link: not a file: https://pypi.org/simple/obj2html/ 2025-09-10T00:23:15,178 Given no hashes to check 1 links for project 'obj2html': discarding no candidates 2025-09-10T00:23:15,180 Collecting obj2html==0.6 2025-09-10T00:23:15,181 Created temporary directory: /tmp/pip-unpack-ryz09exq 2025-09-10T00:23:15,321 Downloading obj2html-0.6.tar.gz (2.1 kB) 2025-09-10T00:23:15,339 Added obj2html==0.6 from https://files.pythonhosted.org/packages/21/9e/faaf69ce665fc4d21be95a4a208a1bdadee100fdcebfda39f5e4fa3716d1/obj2html-0.6.tar.gz to build tracker '/tmp/pip-build-tracker-y8a2xdni' 2025-09-10T00:23:15,341 Running setup.py (path:/tmp/pip-wheel-z8q2n23h/obj2html_2487d8c960d6491e8f8deacbcd8f5807/setup.py) egg_info for package obj2html 2025-09-10T00:23:15,342 Created temporary directory: /tmp/pip-pip-egg-info-ikeeyzfj 2025-09-10T00:23:15,342 Preparing metadata (setup.py): started 2025-09-10T00:23:15,344 Running command python setup.py egg_info 2025-09-10T00:23:15,860 Traceback (most recent call last): 2025-09-10T00:23:15,862 File "", line 2, in 2025-09-10T00:23:15,862 exec(compile(''' 2025-09-10T00:23:15,862 ~~~~^^^^^^^^^^^^ 2025-09-10T00:23:15,862 # This is -- a caller that pip uses to run setup.py 2025-09-10T00:23:15,862 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,862 ...<32 lines>... 2025-09-10T00:23:15,862 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T00:23:15,863 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,863 ''' % ('/tmp/pip-wheel-z8q2n23h/obj2html_2487d8c960d6491e8f8deacbcd8f5807/setup.py',), "", "exec")) 2025-09-10T00:23:15,863 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,863 File "", line 35, in 2025-09-10T00:23:15,863 File "/tmp/pip-wheel-z8q2n23h/obj2html_2487d8c960d6491e8f8deacbcd8f5807/setup.py", line 3, in 2025-09-10T00:23:15,863 with open('pipy_readme.rst', 'r') as f: 2025-09-10T00:23:15,863 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,863 FileNotFoundError: [Errno 2] No such file or directory: 'pipy_readme.rst' 2025-09-10T00:23:15,948 ERROR: python setup.py egg_info exited with 1 2025-09-10T00:23:15,960 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-10T00:23:15,960 exec(compile('"'"''"'"''"'"' 2025-09-10T00:23:15,960 # This is -- a caller that pip uses to run setup.py 2025-09-10T00:23:15,960 # 2025-09-10T00:23:15,960 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-10T00:23:15,960 # import from `distutils.core` to work with newer packaging standards. 2025-09-10T00:23:15,960 # - It provides a clear error message when setuptools is not installed. 2025-09-10T00:23:15,960 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-10T00:23:15,960 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-10T00:23:15,960 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-10T00:23:15,960 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-10T00:23:15,960 import os, sys, tokenize, traceback 2025-09-10T00:23:15,960 2025-09-10T00:23:15,960 try: 2025-09-10T00:23:15,960 import setuptools 2025-09-10T00:23:15,960 except ImportError: 2025-09-10T00:23:15,960 print( 2025-09-10T00:23:15,960 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-10T00:23:15,960 "the build environment with exception:", 2025-09-10T00:23:15,960 file=sys.stderr, 2025-09-10T00:23:15,960 ) 2025-09-10T00:23:15,960 traceback.print_exc() 2025-09-10T00:23:15,960 sys.exit(1) 2025-09-10T00:23:15,960 2025-09-10T00:23:15,960 __file__ = %r 2025-09-10T00:23:15,960 sys.argv[0] = __file__ 2025-09-10T00:23:15,960 2025-09-10T00:23:15,960 if os.path.exists(__file__): 2025-09-10T00:23:15,960 filename = __file__ 2025-09-10T00:23:15,960 with tokenize.open(__file__) as f: 2025-09-10T00:23:15,960 setup_py_code = f.read() 2025-09-10T00:23:15,960 else: 2025-09-10T00:23:15,960 filename = "" 2025-09-10T00:23:15,960 setup_py_code = "from setuptools import setup; setup()" 2025-09-10T00:23:15,960 2025-09-10T00:23:15,960 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T00:23:15,960 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-z8q2n23h/obj2html_2487d8c960d6491e8f8deacbcd8f5807/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-ikeeyzfj[/] 2025-09-10T00:23:15,960 [bold magenta]cwd[/]: /tmp/pip-wheel-z8q2n23h/obj2html_2487d8c960d6491e8f8deacbcd8f5807/ 2025-09-10T00:23:15,960 Preparing metadata (setup.py): finished with status 'error' 2025-09-10T00:23:15,961 ERROR: metadata generation failed 2025-09-10T00:23:15,966 Exception information: 2025-09-10T00:23:15,966 Traceback (most recent call last): 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-10T00:23:15,966 call_subprocess( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 args, 2025-09-10T00:23:15,966 ^^^^^ 2025-09-10T00:23:15,966 ...<2 lines>... 2025-09-10T00:23:15,966 spinner=spinner, 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-10T00:23:15,966 raise error 2025-09-10T00:23:15,966 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-10T00:23:15,966 2025-09-10T00:23:15,966 The above exception was the direct cause of the following exception: 2025-09-10T00:23:15,966 2025-09-10T00:23:15,966 Traceback (most recent call last): 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-10T00:23:15,966 status = _inner_run() 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-10T00:23:15,966 return self.run(options, args) 2025-09-10T00:23:15,966 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-10T00:23:15,966 return func(self, options, args) 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-10T00:23:15,966 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-10T00:23:15,966 result = self._result = resolver.resolve( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-10T00:23:15,966 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-10T00:23:15,966 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-10T00:23:15,966 if not criterion.candidates: 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-10T00:23:15,966 return bool(self._sequence) 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-10T00:23:15,966 self._bool = any(self) 2025-09-10T00:23:15,966 ~~~^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-10T00:23:15,966 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-10T00:23:15,966 ^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-10T00:23:15,966 candidate = func() 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-10T00:23:15,966 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 link, template, name, version 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-10T00:23:15,966 self._link_candidate_cache[link] = LinkCandidate( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 link, 2025-09-10T00:23:15,966 ^^^^^ 2025-09-10T00:23:15,966 ...<3 lines>... 2025-09-10T00:23:15,966 version=version, 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-10T00:23:15,966 super().__init__( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 link=link, 2025-09-10T00:23:15,966 ^^^^^^^^^^ 2025-09-10T00:23:15,966 ...<4 lines>... 2025-09-10T00:23:15,966 version=version, 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-10T00:23:15,966 self.dist = self._prepare() 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-10T00:23:15,966 dist = self._prepare_distribution() 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-10T00:23:15,966 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-10T00:23:15,966 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-10T00:23:15,966 dist = _get_prepared_distribution( 2025-09-10T00:23:15,966 req, 2025-09-10T00:23:15,966 ...<3 lines>... 2025-09-10T00:23:15,966 self.check_build_deps, 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-10T00:23:15,966 abstract_dist.prepare_distribution_metadata( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 finder, build_isolation, check_build_deps 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-10T00:23:15,966 self.req.prepare_metadata() 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-10T00:23:15,966 self.metadata_directory = generate_metadata_legacy( 2025-09-10T00:23:15,966 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T00:23:15,966 build_env=self.build_env, 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ...<3 lines>... 2025-09-10T00:23:15,966 details=details, 2025-09-10T00:23:15,966 ^^^^^^^^^^^^^^^^ 2025-09-10T00:23:15,966 ) 2025-09-10T00:23:15,966 ^ 2025-09-10T00:23:15,966 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-10T00:23:15,966 raise MetadataGenerationFailed(package_details=details) from error 2025-09-10T00:23:15,966 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-10T00:23:15,988 Removed obj2html==0.6 from https://files.pythonhosted.org/packages/21/9e/faaf69ce665fc4d21be95a4a208a1bdadee100fdcebfda39f5e4fa3716d1/obj2html-0.6.tar.gz from build tracker '/tmp/pip-build-tracker-y8a2xdni' 2025-09-10T00:23:15,988 Removed build tracker: '/tmp/pip-build-tracker-y8a2xdni'