2025-09-07T22:51:54,156 Created temporary directory: /tmp/pip-build-tracker-i1buh56a 2025-09-07T22:51:54,157 Initialized build tracking at /tmp/pip-build-tracker-i1buh56a 2025-09-07T22:51:54,157 Created build tracker: /tmp/pip-build-tracker-i1buh56a 2025-09-07T22:51:54,157 Entered build tracker: /tmp/pip-build-tracker-i1buh56a 2025-09-07T22:51:54,157 Created temporary directory: /tmp/pip-wheel-3z4d7lv9 2025-09-07T22:51:54,160 Created temporary directory: /tmp/pip-ephem-wheel-cache-lifdg_nl 2025-09-07T22:51:54,219 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T22:51:54,221 2 location(s) to search for versions of gap: 2025-09-07T22:51:54,221 * https://pypi.org/simple/gap/ 2025-09-07T22:51:54,221 * https://www.piwheels.org/simple/gap/ 2025-09-07T22:51:54,222 Fetching project page and analyzing links: https://pypi.org/simple/gap/ 2025-09-07T22:51:54,222 Getting page https://pypi.org/simple/gap/ 2025-09-07T22:51:54,223 Found index url https://pypi.org/simple/ 2025-09-07T22:51:54,292 Fetched page https://pypi.org/simple/gap/ as application/vnd.pypi.simple.v1+json 2025-09-07T22:51:54,294 Found link https://files.pythonhosted.org/packages/b2/1e/8108f79e8fc84f07dfda4b6caa3b41c1da499abc3ac75d007cfd3adf02c5/gap-0.2.tar.gz (from https://pypi.org/simple/gap/), version: 0.2 2025-09-07T22:51:54,294 Found link https://files.pythonhosted.org/packages/8e/30/455059293fab749c38f8e976c22d9baa531e9989c966231685f555ef014f/gap-0.3.tar.gz (from https://pypi.org/simple/gap/), version: 0.3 2025-09-07T22:51:54,295 Found link https://files.pythonhosted.org/packages/cd/72/5d8cba83f0cf2986d1998f2cda309ceb9c36e08f88d00393057ea7b6207a/gap-0.4.0.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.0 2025-09-07T22:51:54,295 Found link https://files.pythonhosted.org/packages/47/26/e59e05e1ddf3fdd75a21e444d442c226fd9ce25fa6be19ec63dd48da2a04/gap-0.4.1.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.1 2025-09-07T22:51:54,295 Found link https://files.pythonhosted.org/packages/96/ea/b4a2dfc8436ced8c5365df7b8dd559a0496060558a62ec3808fd7a6619dd/gap-0.4.2.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.2 2025-09-07T22:51:54,295 Found link https://files.pythonhosted.org/packages/fc/f7/28cc226b7aa8cda02a576974a3e977618a81b4d53607392f60f2ad033e31/gap-0.4.3.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.3 2025-09-07T22:51:54,295 Found link https://files.pythonhosted.org/packages/10/31/d8661b42c0044c7c38c1ed6832cd81f540c8c369f8ab4195c76bd2c2e53f/gap-0.4.4.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.4 2025-09-07T22:51:54,296 Found link https://files.pythonhosted.org/packages/aa/32/9abcba3adeb6c2f772d616e9db6b186e4f45bc72f473918a980459f7c28f/gap-0.4.5.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.5 2025-09-07T22:51:54,296 Found link https://files.pythonhosted.org/packages/08/cf/f3e15fbb417e81e44aadcd973830c411e50ec6948734197629271f499843/gap-0.4.6.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.6 2025-09-07T22:51:54,296 Found link https://files.pythonhosted.org/packages/2a/17/85c8e033f40d7c0cfa8fb0b0a464b43e0b5e770403e82dd9a91ef575c207/gap-0.4.7.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.7 2025-09-07T22:51:54,296 Found link https://files.pythonhosted.org/packages/5d/9e/aaf39e3c611e10769fb2308b31a4bff0863ae84869a05ce0631536d7ff13/gap-0.4.8.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.8 2025-09-07T22:51:54,296 Found link https://files.pythonhosted.org/packages/3d/0d/6ab170404bcbcd13a969c83fe2effe56005c3c187ca03ba2e1259977c608/gap-0.4.8.1.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.8.1 2025-09-07T22:51:54,297 Found link https://files.pythonhosted.org/packages/0d/1e/d037572a766f4fc8dae8b2523e02f06606dc7d807610f2c3992520cc55f9/gap-0.4.8.2.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.8.2 2025-09-07T22:51:54,297 Found link https://files.pythonhosted.org/packages/80/d9/9b8063cb4b0f782adf4f683a734a13e7fa6541ea96c7799c68d00c27428f/gap-0.4.9.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.9 2025-09-07T22:51:54,297 Found link https://files.pythonhosted.org/packages/b7/d7/c88ab2d1968ae65e9e37670dab11999dcb301bc8548354d40b9609308d25/gap-0.4.9.1.tar.gz (from https://pypi.org/simple/gap/), version: 0.4.9.1 2025-09-07T22:51:54,297 Fetching project page and analyzing links: https://www.piwheels.org/simple/gap/ 2025-09-07T22:51:54,298 Getting page https://www.piwheels.org/simple/gap/ 2025-09-07T22:51:54,299 Found index url https://www.piwheels.org/simple/ 2025-09-07T22:51:54,394 Fetched page https://www.piwheels.org/simple/gap/ as text/html 2025-09-07T22:51:54,395 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.4.6-py3-none-any.whl#sha256=e671d76d1980dff25df2da5efcd043f9d85bd654144429b03a1717f0a78571da (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.4.5-py3-none-any.whl#sha256=fef99908d421cc2fead5bef560bc8764fa8093f3fbf5d4f3f695657128ebccbd (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.4.3-py3-none-any.whl#sha256=2ca6ba1d60799134af7ba810ec5fc22bdeed714eb5f575e50a6850741e6d4bc3 (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.4.0-py3-none-any.whl#sha256=593113976aeeded7e7b4842b585bee0f7b63c929e3c0d5b95641c5aab2b6140e (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.3-py3-none-any.whl#sha256=3585630552e619741459a3ea15bc7ecdf0ed399240c52105b8cad1e8b46208e6 (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: No binaries permitted for gap: https://archive1.piwheels.org/simple/gap/gap-0.2-py3-none-any.whl#sha256=6150b50259cd1afbe81526705a2bcdd9609b62d170dbb790cd35bcfa914544b1 (from https://www.piwheels.org/simple/gap/) 2025-09-07T22:51:54,396 Skipping link: not a file: https://www.piwheels.org/simple/gap/ 2025-09-07T22:51:54,396 Skipping link: not a file: https://pypi.org/simple/gap/ 2025-09-07T22:51:54,420 Given no hashes to check 1 links for project 'gap': discarding no candidates 2025-09-07T22:51:54,421 Collecting gap==0.4.7 2025-09-07T22:51:54,422 Created temporary directory: /tmp/pip-unpack-f4yt1w3_ 2025-09-07T22:51:54,783 Downloading gap-0.4.7.tar.gz (23 kB) 2025-09-07T22:51:54,835 Added gap==0.4.7 from https://files.pythonhosted.org/packages/2a/17/85c8e033f40d7c0cfa8fb0b0a464b43e0b5e770403e82dd9a91ef575c207/gap-0.4.7.tar.gz to build tracker '/tmp/pip-build-tracker-i1buh56a' 2025-09-07T22:51:54,836 Running setup.py (path:/tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/setup.py) egg_info for package gap 2025-09-07T22:51:54,836 Created temporary directory: /tmp/pip-pip-egg-info-9zqrsqd0 2025-09-07T22:51:54,836 Preparing metadata (setup.py): started 2025-09-07T22:51:54,837 Running command python setup.py egg_info 2025-09-07T22:51:55,354 Traceback (most recent call last): 2025-09-07T22:51:55,355 File "", line 2, in 2025-09-07T22:51:55,355 exec(compile(''' 2025-09-07T22:51:55,355 ~~~~^^^^^^^^^^^^ 2025-09-07T22:51:55,355 # This is -- a caller that pip uses to run setup.py 2025-09-07T22:51:55,356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,356 ...<32 lines>... 2025-09-07T22:51:55,356 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T22:51:55,356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,356 ''' % ('/tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/setup.py',), "", "exec")) 2025-09-07T22:51:55,356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,356 File "", line 35, in 2025-09-07T22:51:55,357 File "/tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/setup.py", line 18, in 2025-09-07T22:51:55,357 from gap import VERSION 2025-09-07T22:51:55,357 File "/tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/gap/__init__.py", line 4 2025-09-07T22:51:55,357 print '.'.join(map(str, VERSION)) 2025-09-07T22:51:55,357 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,357 SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? 2025-09-07T22:51:55,440 ERROR: python setup.py egg_info exited with 1 2025-09-07T22:51:55,452 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T22:51:55,452 exec(compile('"'"''"'"''"'"' 2025-09-07T22:51:55,452 # This is -- a caller that pip uses to run setup.py 2025-09-07T22:51:55,452 # 2025-09-07T22:51:55,452 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T22:51:55,452 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T22:51:55,452 # - It provides a clear error message when setuptools is not installed. 2025-09-07T22:51:55,452 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T22:51:55,452 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T22:51:55,452 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T22:51:55,452 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T22:51:55,452 import os, sys, tokenize, traceback 2025-09-07T22:51:55,452 2025-09-07T22:51:55,452 try: 2025-09-07T22:51:55,452 import setuptools 2025-09-07T22:51:55,452 except ImportError: 2025-09-07T22:51:55,452 print( 2025-09-07T22:51:55,452 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T22:51:55,452 "the build environment with exception:", 2025-09-07T22:51:55,452 file=sys.stderr, 2025-09-07T22:51:55,452 ) 2025-09-07T22:51:55,452 traceback.print_exc() 2025-09-07T22:51:55,452 sys.exit(1) 2025-09-07T22:51:55,452 2025-09-07T22:51:55,452 __file__ = %r 2025-09-07T22:51:55,452 sys.argv[0] = __file__ 2025-09-07T22:51:55,452 2025-09-07T22:51:55,452 if os.path.exists(__file__): 2025-09-07T22:51:55,452 filename = __file__ 2025-09-07T22:51:55,452 with tokenize.open(__file__) as f: 2025-09-07T22:51:55,452 setup_py_code = f.read() 2025-09-07T22:51:55,452 else: 2025-09-07T22:51:55,452 filename = "" 2025-09-07T22:51:55,452 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T22:51:55,452 2025-09-07T22:51:55,452 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T22:51:55,452 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-9zqrsqd0[/] 2025-09-07T22:51:55,452 [bold magenta]cwd[/]: /tmp/pip-wheel-3z4d7lv9/gap_ea2e61ee97574f688d5011abd9219c90/ 2025-09-07T22:51:55,452 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T22:51:55,453 ERROR: metadata generation failed 2025-09-07T22:51:55,458 Exception information: 2025-09-07T22:51:55,458 Traceback (most recent call last): 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T22:51:55,458 call_subprocess( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 args, 2025-09-07T22:51:55,458 ^^^^^ 2025-09-07T22:51:55,458 ...<2 lines>... 2025-09-07T22:51:55,458 spinner=spinner, 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T22:51:55,458 raise error 2025-09-07T22:51:55,458 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T22:51:55,458 2025-09-07T22:51:55,458 The above exception was the direct cause of the following exception: 2025-09-07T22:51:55,458 2025-09-07T22:51:55,458 Traceback (most recent call last): 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T22:51:55,458 status = _inner_run() 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T22:51:55,458 return self.run(options, args) 2025-09-07T22:51:55,458 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T22:51:55,458 return func(self, options, args) 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T22:51:55,458 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T22:51:55,458 result = self._result = resolver.resolve( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T22:51:55,458 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T22:51:55,458 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T22:51:55,458 if not criterion.candidates: 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T22:51:55,458 return bool(self._sequence) 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T22:51:55,458 self._bool = any(self) 2025-09-07T22:51:55,458 ~~~^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T22:51:55,458 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T22:51:55,458 ^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T22:51:55,458 candidate = func() 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T22:51:55,458 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 link, template, name, version 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T22:51:55,458 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 link, 2025-09-07T22:51:55,458 ^^^^^ 2025-09-07T22:51:55,458 ...<3 lines>... 2025-09-07T22:51:55,458 version=version, 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T22:51:55,458 super().__init__( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 link=link, 2025-09-07T22:51:55,458 ^^^^^^^^^^ 2025-09-07T22:51:55,458 ...<4 lines>... 2025-09-07T22:51:55,458 version=version, 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T22:51:55,458 self.dist = self._prepare() 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T22:51:55,458 dist = self._prepare_distribution() 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T22:51:55,458 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T22:51:55,458 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T22:51:55,458 dist = _get_prepared_distribution( 2025-09-07T22:51:55,458 req, 2025-09-07T22:51:55,458 ...<3 lines>... 2025-09-07T22:51:55,458 self.check_build_deps, 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T22:51:55,458 abstract_dist.prepare_distribution_metadata( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 finder, build_isolation, check_build_deps 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T22:51:55,458 self.req.prepare_metadata() 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T22:51:55,458 self.metadata_directory = generate_metadata_legacy( 2025-09-07T22:51:55,458 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T22:51:55,458 build_env=self.build_env, 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ...<3 lines>... 2025-09-07T22:51:55,458 details=details, 2025-09-07T22:51:55,458 ^^^^^^^^^^^^^^^^ 2025-09-07T22:51:55,458 ) 2025-09-07T22:51:55,458 ^ 2025-09-07T22:51:55,458 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T22:51:55,458 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T22:51:55,458 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T22:51:55,481 Removed gap==0.4.7 from https://files.pythonhosted.org/packages/2a/17/85c8e033f40d7c0cfa8fb0b0a464b43e0b5e770403e82dd9a91ef575c207/gap-0.4.7.tar.gz from build tracker '/tmp/pip-build-tracker-i1buh56a' 2025-09-07T22:51:55,481 Removed build tracker: '/tmp/pip-build-tracker-i1buh56a'