2025-09-07T22:32:11,469 Created temporary directory: /tmp/pip-build-tracker-g2n40h76 2025-09-07T22:32:11,470 Initialized build tracking at /tmp/pip-build-tracker-g2n40h76 2025-09-07T22:32:11,470 Created build tracker: /tmp/pip-build-tracker-g2n40h76 2025-09-07T22:32:11,470 Entered build tracker: /tmp/pip-build-tracker-g2n40h76 2025-09-07T22:32:11,471 Created temporary directory: /tmp/pip-wheel-hjffq1z3 2025-09-07T22:32:11,474 Created temporary directory: /tmp/pip-ephem-wheel-cache-zzw6zq8b 2025-09-07T22:32:11,531 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T22:32:11,534 2 location(s) to search for versions of pycparserext: 2025-09-07T22:32:11,534 * https://pypi.org/simple/pycparserext/ 2025-09-07T22:32:11,534 * https://www.piwheels.org/simple/pycparserext/ 2025-09-07T22:32:11,534 Fetching project page and analyzing links: https://pypi.org/simple/pycparserext/ 2025-09-07T22:32:11,534 Getting page https://pypi.org/simple/pycparserext/ 2025-09-07T22:32:11,536 Found index url https://pypi.org/simple/ 2025-09-07T22:32:11,684 Fetched page https://pypi.org/simple/pycparserext/ as application/vnd.pypi.simple.v1+json 2025-09-07T22:32:11,687 Found link https://files.pythonhosted.org/packages/a3/8b/dc133d491b38bca95bb389ef1d32d00a27492819026489df968a38a6c387/pycparserext-2013.1.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2013.1 2025-09-07T22:32:11,688 Found link https://files.pythonhosted.org/packages/9a/04/1a3b2c028ce0d83a66e2fd2e30d7ada521c357311cf4af3483d1170aa255/pycparserext-2013.2.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2013.2 2025-09-07T22:32:11,689 Found link https://files.pythonhosted.org/packages/91/b0/00047de6b14b16f43aca4225f2629d99fcac83f83b1a39947b068c45f514/pycparserext-2015.1.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2015.1 2025-09-07T22:32:11,689 Found link https://files.pythonhosted.org/packages/8c/71/2553eef8cd9b2e497824ae31f674afda79d47800f51cbef68b2386d6de59/pycparserext-2016.1.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2016.1 2025-09-07T22:32:11,690 Found link https://files.pythonhosted.org/packages/c5/7f/dfce1acc78177b232c8388c8d0a8e7cd782a26c647095c5530043c1702bc/pycparserext-2016.2.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2016.2 2025-09-07T22:32:11,690 Found link https://files.pythonhosted.org/packages/3e/58/7a4b37732315d47512a33a6a162a8c5fb211f7b7ba237da8b85f80ed93d4/pycparserext-2019.1.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2019.1 2025-09-07T22:32:11,691 Found link https://files.pythonhosted.org/packages/be/30/7efc7ef861db3d5b3f0434efc5035cc11eeab5d3f41c3ffa7c67c08ddd22/pycparserext-2020.1.tar.gz (from https://pypi.org/simple/pycparserext/), version: 2020.1 2025-09-07T22:32:11,692 Found link https://files.pythonhosted.org/packages/c3/67/e01f351b2a45c1e428e161125929b9abc9ac53344ca69d7d928f0f264b23/pycparserext-2021.1.tar.gz (from https://pypi.org/simple/pycparserext/) (requires-python:~=3.6), version: 2021.1 2025-09-07T22:32:11,693 Skipping link: No binaries permitted for pycparserext: https://files.pythonhosted.org/packages/83/8d/8b5317d51b6082862cedcadcd124e268a617ffbfbfc0289c59f91c2a3394/pycparserext-2024.1-py3-none-any.whl (from https://pypi.org/simple/pycparserext/) (requires-python:~=3.8) 2025-09-07T22:32:11,694 Found link https://files.pythonhosted.org/packages/d8/b7/0085290a311be38b0549d045e17298a9ef4cdb296b4bfee7ebbeaf6a8028/pycparserext-2024.1.tar.gz (from https://pypi.org/simple/pycparserext/) (requires-python:~=3.8), version: 2024.1 2025-09-07T22:32:11,695 Fetching project page and analyzing links: https://www.piwheels.org/simple/pycparserext/ 2025-09-07T22:32:11,696 Getting page https://www.piwheels.org/simple/pycparserext/ 2025-09-07T22:32:11,697 Found index url https://www.piwheels.org/simple/ 2025-09-07T22:32:11,794 Fetched page https://www.piwheels.org/simple/pycparserext/ as text/html 2025-09-07T22:32:11,796 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2024.1-py3-none-any.whl#sha256=b9ffc474b69120e3c5fdcddf9fc6467b5ae9033395f4b9b068a17c6f6d9a718d (from https://www.piwheels.org/simple/pycparserext/) (requires-python:~=3.8) 2025-09-07T22:32:11,796 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2021.1-py3-none-any.whl#sha256=327030c54b540304c4971de8089072a0eef972a5df0dccc9bb657405c83d6ba4 (from https://www.piwheels.org/simple/pycparserext/) (requires-python:~=3.6) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2020.1-py3-none-any.whl#sha256=983f9f007e148140e08165aa409e55a4e2be7189acdbcc886305727f0d1ed8aa (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2019.1-py3-none-any.whl#sha256=7d3a016e5e126df4065e6d9e2f938b895b2033dec0e85f0a7669151b507c3220 (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2016.2-py3-none-any.whl#sha256=ebb9598016c394f2179f89be3324f36f49b47bd37f3f1b3fdbeb4fee2991c17c (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2016.1-py3-none-any.whl#sha256=c33afbaf2f49c94e21db37663033df05d13d1525f64b2f04bc40502bb7dc2012 (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2015.1-py3-none-any.whl#sha256=45378b578f699234b01678c6ecbe259599f49860df4f55eac364919e06b64c77 (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: No binaries permitted for pycparserext: https://archive1.piwheels.org/simple/pycparserext/pycparserext-2013.2-py3-none-any.whl#sha256=bb9f4196c5cbb510fd96d6bdd3e00c17e0cd6f1211e7e9f45dd992b59c3c477d (from https://www.piwheels.org/simple/pycparserext/) 2025-09-07T22:32:11,797 Skipping link: not a file: https://www.piwheels.org/simple/pycparserext/ 2025-09-07T22:32:11,797 Skipping link: not a file: https://pypi.org/simple/pycparserext/ 2025-09-07T22:32:11,825 Given no hashes to check 1 links for project 'pycparserext': discarding no candidates 2025-09-07T22:32:11,826 Collecting pycparserext==2013.1 2025-09-07T22:32:11,828 Created temporary directory: /tmp/pip-unpack-aghu91e8 2025-09-07T22:32:11,966 Downloading pycparserext-2013.1.tar.gz (11 kB) 2025-09-07T22:32:11,997 Added pycparserext==2013.1 from https://files.pythonhosted.org/packages/a3/8b/dc133d491b38bca95bb389ef1d32d00a27492819026489df968a38a6c387/pycparserext-2013.1.tar.gz to build tracker '/tmp/pip-build-tracker-g2n40h76' 2025-09-07T22:32:11,998 Running setup.py (path:/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/setup.py) egg_info for package pycparserext 2025-09-07T22:32:11,998 Created temporary directory: /tmp/pip-pip-egg-info-22ecpalh 2025-09-07T22:32:11,999 Preparing metadata (setup.py): started 2025-09-07T22:32:11,999 Running command python setup.py egg_info 2025-09-07T22:32:12,572 /tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/distribute_setup.py:139: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. 2025-09-07T22:32:12,572 import pkg_resources 2025-09-07T22:32:12,920 Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz 2025-09-07T22:32:12,981 Traceback (most recent call last): 2025-09-07T22:32:12,982 File "/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/distribute_setup.py", line 143, in use_setuptools 2025-09-07T22:32:12,982 raise ImportError 2025-09-07T22:32:12,982 ImportError 2025-09-07T22:32:12,982 During handling of the above exception, another exception occurred: 2025-09-07T22:32:12,983 Traceback (most recent call last): 2025-09-07T22:32:12,987 File "", line 2, in 2025-09-07T22:32:12,987 exec(compile(''' 2025-09-07T22:32:12,987 ~~~~^^^^^^^^^^^^ 2025-09-07T22:32:12,987 # This is -- a caller that pip uses to run setup.py 2025-09-07T22:32:12,987 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:12,987 ...<32 lines>... 2025-09-07T22:32:12,988 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T22:32:12,988 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:12,988 ''' % ('/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/setup.py',), "", "exec")) 2025-09-07T22:32:12,988 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:12,988 File "", line 35, in 2025-09-07T22:32:12,988 File "/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/setup.py", line 5, in 2025-09-07T22:32:12,988 distribute_setup.use_setuptools() 2025-09-07T22:32:12,989 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T22:32:12,989 File "/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/distribute_setup.py", line 145, in use_setuptools 2025-09-07T22:32:12,989 return _do_download(version, download_base, to_dir, download_delay) 2025-09-07T22:32:12,989 File "/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/distribute_setup.py", line 123, in _do_download 2025-09-07T22:32:12,989 tarball = download_setuptools(version, download_base, 2025-09-07T22:32:12,989 to_dir, download_delay) 2025-09-07T22:32:12,989 File "/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/distribute_setup.py", line 193, in download_setuptools 2025-09-07T22:32:12,989 src = urlopen(url) 2025-09-07T22:32:12,990 File "/usr/lib/python3.13/urllib/request.py", line 189, in urlopen 2025-09-07T22:32:12,990 return opener.open(url, data, timeout) 2025-09-07T22:32:12,990 ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:12,990 File "/usr/lib/python3.13/urllib/request.py", line 495, in open 2025-09-07T22:32:12,990 response = meth(req, response) 2025-09-07T22:32:12,990 File "/usr/lib/python3.13/urllib/request.py", line 604, in http_response 2025-09-07T22:32:12,990 response = self.parent.error( 2025-09-07T22:32:12,991 'http', request, response, code, msg, hdrs) 2025-09-07T22:32:12,991 File "/usr/lib/python3.13/urllib/request.py", line 533, in error 2025-09-07T22:32:12,991 return self._call_chain(*args) 2025-09-07T22:32:12,991 ~~~~~~~~~~~~~~~~^^^^^^^ 2025-09-07T22:32:12,991 File "/usr/lib/python3.13/urllib/request.py", line 466, in _call_chain 2025-09-07T22:32:12,991 result = func(*args) 2025-09-07T22:32:12,992 File "/usr/lib/python3.13/urllib/request.py", line 613, in http_error_default 2025-09-07T22:32:12,992 raise HTTPError(req.full_url, code, msg, hdrs, fp) 2025-09-07T22:32:12,992 urllib.error.HTTPError: HTTP Error 403: SSL is required 2025-09-07T22:32:13,087 ERROR: python setup.py egg_info exited with 1 2025-09-07T22:32:13,100 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T22:32:13,100 exec(compile('"'"''"'"''"'"' 2025-09-07T22:32:13,100 # This is -- a caller that pip uses to run setup.py 2025-09-07T22:32:13,100 # 2025-09-07T22:32:13,100 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T22:32:13,100 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T22:32:13,100 # - It provides a clear error message when setuptools is not installed. 2025-09-07T22:32:13,100 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T22:32:13,100 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T22:32:13,100 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T22:32:13,100 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T22:32:13,100 import os, sys, tokenize, traceback 2025-09-07T22:32:13,100 2025-09-07T22:32:13,100 try: 2025-09-07T22:32:13,100 import setuptools 2025-09-07T22:32:13,100 except ImportError: 2025-09-07T22:32:13,100 print( 2025-09-07T22:32:13,100 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T22:32:13,100 "the build environment with exception:", 2025-09-07T22:32:13,100 file=sys.stderr, 2025-09-07T22:32:13,100 ) 2025-09-07T22:32:13,100 traceback.print_exc() 2025-09-07T22:32:13,100 sys.exit(1) 2025-09-07T22:32:13,100 2025-09-07T22:32:13,100 __file__ = %r 2025-09-07T22:32:13,100 sys.argv[0] = __file__ 2025-09-07T22:32:13,100 2025-09-07T22:32:13,100 if os.path.exists(__file__): 2025-09-07T22:32:13,100 filename = __file__ 2025-09-07T22:32:13,100 with tokenize.open(__file__) as f: 2025-09-07T22:32:13,100 setup_py_code = f.read() 2025-09-07T22:32:13,100 else: 2025-09-07T22:32:13,100 filename = "" 2025-09-07T22:32:13,100 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T22:32:13,100 2025-09-07T22:32:13,100 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T22:32:13,100 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-22ecpalh[/] 2025-09-07T22:32:13,101 [bold magenta]cwd[/]: /tmp/pip-wheel-hjffq1z3/pycparserext_d5bdb2289a6743cfa74324e57a50d4e7/ 2025-09-07T22:32:13,101 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T22:32:13,102 ERROR: metadata generation failed 2025-09-07T22:32:13,107 Exception information: 2025-09-07T22:32:13,107 Traceback (most recent call last): 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T22:32:13,107 call_subprocess( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 args, 2025-09-07T22:32:13,107 ^^^^^ 2025-09-07T22:32:13,107 ...<2 lines>... 2025-09-07T22:32:13,107 spinner=spinner, 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T22:32:13,107 raise error 2025-09-07T22:32:13,107 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T22:32:13,107 2025-09-07T22:32:13,107 The above exception was the direct cause of the following exception: 2025-09-07T22:32:13,107 2025-09-07T22:32:13,107 Traceback (most recent call last): 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T22:32:13,107 status = _inner_run() 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T22:32:13,107 return self.run(options, args) 2025-09-07T22:32:13,107 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T22:32:13,107 return func(self, options, args) 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T22:32:13,107 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T22:32:13,107 result = self._result = resolver.resolve( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T22:32:13,107 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T22:32:13,107 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T22:32:13,107 if not criterion.candidates: 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T22:32:13,107 return bool(self._sequence) 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T22:32:13,107 self._bool = any(self) 2025-09-07T22:32:13,107 ~~~^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T22:32:13,107 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T22:32:13,107 ^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T22:32:13,107 candidate = func() 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T22:32:13,107 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 link, template, name, version 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T22:32:13,107 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 link, 2025-09-07T22:32:13,107 ^^^^^ 2025-09-07T22:32:13,107 ...<3 lines>... 2025-09-07T22:32:13,107 version=version, 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T22:32:13,107 super().__init__( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 link=link, 2025-09-07T22:32:13,107 ^^^^^^^^^^ 2025-09-07T22:32:13,107 ...<4 lines>... 2025-09-07T22:32:13,107 version=version, 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T22:32:13,107 self.dist = self._prepare() 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T22:32:13,107 dist = self._prepare_distribution() 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T22:32:13,107 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T22:32:13,107 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T22:32:13,107 dist = _get_prepared_distribution( 2025-09-07T22:32:13,107 req, 2025-09-07T22:32:13,107 ...<3 lines>... 2025-09-07T22:32:13,107 self.check_build_deps, 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T22:32:13,107 abstract_dist.prepare_distribution_metadata( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 finder, build_isolation, check_build_deps 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T22:32:13,107 self.req.prepare_metadata() 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T22:32:13,107 self.metadata_directory = generate_metadata_legacy( 2025-09-07T22:32:13,107 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:32:13,107 build_env=self.build_env, 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ...<3 lines>... 2025-09-07T22:32:13,107 details=details, 2025-09-07T22:32:13,107 ^^^^^^^^^^^^^^^^ 2025-09-07T22:32:13,107 ) 2025-09-07T22:32:13,107 ^ 2025-09-07T22:32:13,107 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T22:32:13,107 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T22:32:13,107 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T22:32:13,129 Removed pycparserext==2013.1 from https://files.pythonhosted.org/packages/a3/8b/dc133d491b38bca95bb389ef1d32d00a27492819026489df968a38a6c387/pycparserext-2013.1.tar.gz from build tracker '/tmp/pip-build-tracker-g2n40h76' 2025-09-07T22:32:13,129 Removed build tracker: '/tmp/pip-build-tracker-g2n40h76'