2025-09-08T02:48:48,162 Created temporary directory: /tmp/pip-build-tracker-6iylv5lw 2025-09-08T02:48:48,163 Initialized build tracking at /tmp/pip-build-tracker-6iylv5lw 2025-09-08T02:48:48,163 Created build tracker: /tmp/pip-build-tracker-6iylv5lw 2025-09-08T02:48:48,163 Entered build tracker: /tmp/pip-build-tracker-6iylv5lw 2025-09-08T02:48:48,163 Created temporary directory: /tmp/pip-wheel-2l2k5qnu 2025-09-08T02:48:48,166 Created temporary directory: /tmp/pip-ephem-wheel-cache-lu32um6c 2025-09-08T02:48:48,225 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T02:48:48,228 2 location(s) to search for versions of pyrser: 2025-09-08T02:48:48,228 * https://pypi.org/simple/pyrser/ 2025-09-08T02:48:48,228 * https://www.piwheels.org/simple/pyrser/ 2025-09-08T02:48:48,228 Fetching project page and analyzing links: https://pypi.org/simple/pyrser/ 2025-09-08T02:48:48,228 Getting page https://pypi.org/simple/pyrser/ 2025-09-08T02:48:48,230 Found index url https://pypi.org/simple/ 2025-09-08T02:48:48,299 Fetched page https://pypi.org/simple/pyrser/ as application/vnd.pypi.simple.v1+json 2025-09-08T02:48:48,300 Found link https://files.pythonhosted.org/packages/48/dc/1cea5504e43669d38962efece5b41b63128ead1f91458dd561b69d2dfea3/pyrser-0.0.1.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.1 2025-09-08T02:48:48,301 Found link https://files.pythonhosted.org/packages/97/df/b43d589dde0734306a5bf362f090ccd6594b1086769280520c6f49d32d1e/pyrser-0.0.1a.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.1a 2025-09-08T02:48:48,301 Found link https://files.pythonhosted.org/packages/85/82/ff01b9616cfdfcd6bf82ac01035da35c57764e3aaf83ac40451eac010b5a/pyrser-0.0.2.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.2 2025-09-08T02:48:48,301 Found link https://files.pythonhosted.org/packages/e6/18/9ea76f8f2705616941469af203cf7a26b6973ae08f695fe7051d37258e79/pyrser-0.0.3.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.3 2025-09-08T02:48:48,301 Found link https://files.pythonhosted.org/packages/a3/a6/2b630e9c858d1c79cab9a15ff83543d55a6ed75200ae7df8096a1b3dc1e9/pyrser-0.0.4.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.4 2025-09-08T02:48:48,302 Found link https://files.pythonhosted.org/packages/4f/a9/59825c7b8c376ade5eadbcff7b8e8c98484ee201609c128907f15e8e083c/pyrser-0.0.5.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.5 2025-09-08T02:48:48,302 Found link https://files.pythonhosted.org/packages/ae/76/45706e70fc837774dbf11addba4d4f80489f7b1a8c4dd82e6968b8eb44f4/pyrser-0.0.6.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.6 2025-09-08T02:48:48,302 Found link https://files.pythonhosted.org/packages/a8/42/ba21cc161e73ab7907ede0697a2cc87082cb194afe20b12b5f8f61174eda/pyrser-0.0.7.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.7 2025-09-08T02:48:48,302 Found link https://files.pythonhosted.org/packages/2d/90/aee9e2bd8c8bd6ce08770659879622a32eb8f38d5233bdaf22614034934d/pyrser-0.0.8.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.8 2025-09-08T02:48:48,302 Found link https://files.pythonhosted.org/packages/38/e8/87b5667fd187a2521ac18d46bee256c16c6d0422456e26d33ea686cca22a/pyrser-0.0.9.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.0.9 2025-09-08T02:48:48,303 Found link https://files.pythonhosted.org/packages/a0/b9/997a6334cdbcf52d66debe4a4048e503a4eb86bbdebdf226240fc425fa62/pyrser-0.2.0.tar.gz (from https://pypi.org/simple/pyrser/), version: 0.2.0 2025-09-08T02:48:48,303 Skipping link: No binaries permitted for pyrser: https://files.pythonhosted.org/packages/b2/c1/172359000c21c146aadf887f4d788a9fa95f7fcf466a52634add2933fcf3/pyrser-0.2.0-py2.py3-none-any.whl (from https://pypi.org/simple/pyrser/) 2025-09-08T02:48:48,303 Fetching project page and analyzing links: https://www.piwheels.org/simple/pyrser/ 2025-09-08T02:48:48,303 Getting page https://www.piwheels.org/simple/pyrser/ 2025-09-08T02:48:48,304 Found index url https://www.piwheels.org/simple/ 2025-09-08T02:48:48,395 Fetched page https://www.piwheels.org/simple/pyrser/ as text/html 2025-09-08T02:48:48,397 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.9-py3-none-any.whl#sha256=81871de13f1d7d530e1cdcee97646679d986c10a500352261c040f57b9656612 (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,397 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.6-py3-none-any.whl#sha256=1b7b6d2121a1eda19c1d2f5edf427656b600ed58d728e41f93202b01ec3501bc (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,397 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.4-py3-none-any.whl#sha256=a7f768071f4a44de90df490764e6d7b94eb70a4726ffec6b9024af952a7dd14f (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,397 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.3-py3-none-any.whl#sha256=8bfc1d2294296f51ab79129085f861702ca783e74d9072e848d13b622a220a8b (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,397 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.2-py3-none-any.whl#sha256=b92513b87e44484645ed1e040486ca04bdfd1df64fdfa02abb7ff4d297eedc5c (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,398 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.1-py3-none-any.whl#sha256=af9503f1bc703d998baefc9c769e83293b0735b1de881bd1b3ccc77b4a591f7a (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,398 Skipping link: No binaries permitted for pyrser: https://archive1.piwheels.org/simple/pyrser/pyrser-0.0.1a0-py3-none-any.whl#sha256=e0b7fd72ae8fe4ba24960e0d1aebf517a30b87caa1e6b137d1a8177499c9eed5 (from https://www.piwheels.org/simple/pyrser/) 2025-09-08T02:48:48,398 Skipping link: not a file: https://www.piwheels.org/simple/pyrser/ 2025-09-08T02:48:48,398 Skipping link: not a file: https://pypi.org/simple/pyrser/ 2025-09-08T02:48:48,421 Given no hashes to check 1 links for project 'pyrser': discarding no candidates 2025-09-08T02:48:48,422 Collecting pyrser==0.0.8 2025-09-08T02:48:48,423 Created temporary directory: /tmp/pip-unpack-85g0qcq4 2025-09-08T02:48:48,631 Downloading pyrser-0.0.8.tar.gz (41 kB) 2025-09-08T02:48:48,683 Added pyrser==0.0.8 from https://files.pythonhosted.org/packages/2d/90/aee9e2bd8c8bd6ce08770659879622a32eb8f38d5233bdaf22614034934d/pyrser-0.0.8.tar.gz to build tracker '/tmp/pip-build-tracker-6iylv5lw' 2025-09-08T02:48:48,684 Running setup.py (path:/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/setup.py) egg_info for package pyrser 2025-09-08T02:48:48,684 Created temporary directory: /tmp/pip-pip-egg-info-i6_rae74 2025-09-08T02:48:48,684 Preparing metadata (setup.py): started 2025-09-08T02:48:48,685 Running command python setup.py egg_info 2025-09-08T02:48:49,197 Traceback (most recent call last): 2025-09-08T02:48:49,199 File "", line 2, in 2025-09-08T02:48:49,199 exec(compile(''' 2025-09-08T02:48:49,199 ~~~~^^^^^^^^^^^^ 2025-09-08T02:48:49,199 # This is -- a caller that pip uses to run setup.py 2025-09-08T02:48:49,199 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,199 ...<32 lines>... 2025-09-08T02:48:49,199 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T02:48:49,200 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,200 ''' % ('/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/setup.py',), "", "exec")) 2025-09-08T02:48:49,200 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,200 File "", line 35, in 2025-09-08T02:48:49,200 File "/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/setup.py", line 9, in 2025-09-08T02:48:49,200 long_desc = read('README.md') 2025-09-08T02:48:49,200 File "/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/setup.py", line 7, in read 2025-09-08T02:48:49,200 return open(os.path.join(os.path.dirname(__file__), fname)).read() 2025-09-08T02:48:49,201 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,201 FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/README.md' 2025-09-08T02:48:49,284 ERROR: python setup.py egg_info exited with 1 2025-09-08T02:48:49,296 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T02:48:49,296 exec(compile('"'"''"'"''"'"' 2025-09-08T02:48:49,296 # This is -- a caller that pip uses to run setup.py 2025-09-08T02:48:49,296 # 2025-09-08T02:48:49,296 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T02:48:49,296 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T02:48:49,296 # - It provides a clear error message when setuptools is not installed. 2025-09-08T02:48:49,296 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T02:48:49,296 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T02:48:49,296 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T02:48:49,296 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T02:48:49,296 import os, sys, tokenize, traceback 2025-09-08T02:48:49,296 2025-09-08T02:48:49,296 try: 2025-09-08T02:48:49,296 import setuptools 2025-09-08T02:48:49,296 except ImportError: 2025-09-08T02:48:49,296 print( 2025-09-08T02:48:49,296 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T02:48:49,296 "the build environment with exception:", 2025-09-08T02:48:49,296 file=sys.stderr, 2025-09-08T02:48:49,296 ) 2025-09-08T02:48:49,296 traceback.print_exc() 2025-09-08T02:48:49,296 sys.exit(1) 2025-09-08T02:48:49,296 2025-09-08T02:48:49,296 __file__ = %r 2025-09-08T02:48:49,296 sys.argv[0] = __file__ 2025-09-08T02:48:49,296 2025-09-08T02:48:49,296 if os.path.exists(__file__): 2025-09-08T02:48:49,296 filename = __file__ 2025-09-08T02:48:49,296 with tokenize.open(__file__) as f: 2025-09-08T02:48:49,296 setup_py_code = f.read() 2025-09-08T02:48:49,296 else: 2025-09-08T02:48:49,296 filename = "" 2025-09-08T02:48:49,296 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T02:48:49,296 2025-09-08T02:48:49,296 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T02:48:49,296 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-i6_rae74[/] 2025-09-08T02:48:49,297 [bold magenta]cwd[/]: /tmp/pip-wheel-2l2k5qnu/pyrser_1d687042569645d8b07deec38451f502/ 2025-09-08T02:48:49,297 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T02:48:49,298 ERROR: metadata generation failed 2025-09-08T02:48:49,305 Exception information: 2025-09-08T02:48:49,305 Traceback (most recent call last): 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T02:48:49,305 call_subprocess( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 args, 2025-09-08T02:48:49,305 ^^^^^ 2025-09-08T02:48:49,305 ...<2 lines>... 2025-09-08T02:48:49,305 spinner=spinner, 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T02:48:49,305 raise error 2025-09-08T02:48:49,305 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T02:48:49,305 2025-09-08T02:48:49,305 The above exception was the direct cause of the following exception: 2025-09-08T02:48:49,305 2025-09-08T02:48:49,305 Traceback (most recent call last): 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T02:48:49,305 status = _inner_run() 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T02:48:49,305 return self.run(options, args) 2025-09-08T02:48:49,305 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T02:48:49,305 return func(self, options, args) 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T02:48:49,305 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T02:48:49,305 result = self._result = resolver.resolve( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T02:48:49,305 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T02:48:49,305 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T02:48:49,305 if not criterion.candidates: 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T02:48:49,305 return bool(self._sequence) 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T02:48:49,305 self._bool = any(self) 2025-09-08T02:48:49,305 ~~~^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T02:48:49,305 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T02:48:49,305 ^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T02:48:49,305 candidate = func() 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T02:48:49,305 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 link, template, name, version 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T02:48:49,305 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 link, 2025-09-08T02:48:49,305 ^^^^^ 2025-09-08T02:48:49,305 ...<3 lines>... 2025-09-08T02:48:49,305 version=version, 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T02:48:49,305 super().__init__( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 link=link, 2025-09-08T02:48:49,305 ^^^^^^^^^^ 2025-09-08T02:48:49,305 ...<4 lines>... 2025-09-08T02:48:49,305 version=version, 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T02:48:49,305 self.dist = self._prepare() 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T02:48:49,305 dist = self._prepare_distribution() 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T02:48:49,305 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T02:48:49,305 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T02:48:49,305 dist = _get_prepared_distribution( 2025-09-08T02:48:49,305 req, 2025-09-08T02:48:49,305 ...<3 lines>... 2025-09-08T02:48:49,305 self.check_build_deps, 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T02:48:49,305 abstract_dist.prepare_distribution_metadata( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 finder, build_isolation, check_build_deps 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T02:48:49,305 self.req.prepare_metadata() 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T02:48:49,305 self.metadata_directory = generate_metadata_legacy( 2025-09-08T02:48:49,305 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T02:48:49,305 build_env=self.build_env, 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ...<3 lines>... 2025-09-08T02:48:49,305 details=details, 2025-09-08T02:48:49,305 ^^^^^^^^^^^^^^^^ 2025-09-08T02:48:49,305 ) 2025-09-08T02:48:49,305 ^ 2025-09-08T02:48:49,305 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T02:48:49,305 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T02:48:49,305 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T02:48:49,327 Removed pyrser==0.0.8 from https://files.pythonhosted.org/packages/2d/90/aee9e2bd8c8bd6ce08770659879622a32eb8f38d5233bdaf22614034934d/pyrser-0.0.8.tar.gz from build tracker '/tmp/pip-build-tracker-6iylv5lw' 2025-09-08T02:48:49,327 Removed build tracker: '/tmp/pip-build-tracker-6iylv5lw'