2025-09-07T21:17:28,580 Created temporary directory: /tmp/pip-build-tracker-8272h8ie 2025-09-07T21:17:28,581 Initialized build tracking at /tmp/pip-build-tracker-8272h8ie 2025-09-07T21:17:28,581 Created build tracker: /tmp/pip-build-tracker-8272h8ie 2025-09-07T21:17:28,581 Entered build tracker: /tmp/pip-build-tracker-8272h8ie 2025-09-07T21:17:28,581 Created temporary directory: /tmp/pip-wheel-gipdq41v 2025-09-07T21:17:28,585 Created temporary directory: /tmp/pip-ephem-wheel-cache-v7w4bhh3 2025-09-07T21:17:28,639 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T21:17:28,642 2 location(s) to search for versions of nosexcover: 2025-09-07T21:17:28,642 * https://pypi.org/simple/nosexcover/ 2025-09-07T21:17:28,642 * https://www.piwheels.org/simple/nosexcover/ 2025-09-07T21:17:28,642 Fetching project page and analyzing links: https://pypi.org/simple/nosexcover/ 2025-09-07T21:17:28,642 Getting page https://pypi.org/simple/nosexcover/ 2025-09-07T21:17:28,643 Found index url https://pypi.org/simple/ 2025-09-07T21:17:28,713 Fetched page https://pypi.org/simple/nosexcover/ as application/vnd.pypi.simple.v1+json 2025-09-07T21:17:28,715 Found link https://files.pythonhosted.org/packages/fa/b7/31fbdc1a2fe1f03be142cec6426f796f643863c89a83a7f4b119c92a3e9e/nosexcover-1.0.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0 2025-09-07T21:17:28,715 Found link https://files.pythonhosted.org/packages/b0/fd/de6459797e3b839b5a92f2946d4fcbadc4e8fba9381ef334658f5eb3637c/nosexcover-1.0.1.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.1 2025-09-07T21:17:28,716 Found link https://files.pythonhosted.org/packages/9b/04/8cfd268b9a1d823cf8589d86f804c4f560f3d26b97484c67c1b9da0c1868/nosexcover-1.0.2.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.2 2025-09-07T21:17:28,716 Found link https://files.pythonhosted.org/packages/12/09/5976ee02112891f41237316be66c92693d29f66c3716cca2d164bd6ffe59/nosexcover-1.0.3.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.3 2025-09-07T21:17:28,716 Found link https://files.pythonhosted.org/packages/60/a5/5bc7a4997facd767cde3e3ce15c94555baf24a537007d31852c2c5b0fb75/nosexcover-1.0.4.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.4 2025-09-07T21:17:28,716 Found link https://files.pythonhosted.org/packages/d7/8d/cd9df6e0a2412d36ae666999c4966ec2c8a97aad4f8a783d5fdd90731a5a/nosexcover-1.0.5.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.5 2025-09-07T21:17:28,716 Found link https://files.pythonhosted.org/packages/2e/74/ae08fb5e06d25164da91bf448b681f8e03d5155302a30f3bb85b85870ce7/nosexcover-1.0.6.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.6 2025-09-07T21:17:28,717 Found link https://files.pythonhosted.org/packages/e0/1e/8ad292357ec16171dace16bd7d72460cd4579719ca7b28f0fae148d3e6ef/nosexcover-1.0.6.1.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.6.1 2025-09-07T21:17:28,717 Found link https://files.pythonhosted.org/packages/b8/f9/efbc6e357aac1ca2a9937eff66bc6726a81c7d3a18c0e07f089fefa681eb/nosexcover-1.0.7.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.7 2025-09-07T21:17:28,717 Found link https://files.pythonhosted.org/packages/d7/49/9310ef728ec6394690b45917a41c574e10d05173ec9eb4ba7b63e10a18f6/nosexcover-1.0.8.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.8 2025-09-07T21:17:28,717 Found link https://files.pythonhosted.org/packages/4d/a3/41ca8be478292d8cc06cf2b59a1d6d7d3974f17547892f928347f73e8507/nosexcover-1.0.9.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.9 2025-09-07T21:17:28,717 Found link https://files.pythonhosted.org/packages/79/5e/e882c69e11c7fa1ae1c73f8470294559420593a12ec876acbcd44b4e58e5/nosexcover-1.0.10.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.10 2025-09-07T21:17:28,718 Skipping link: No binaries permitted for nosexcover: https://files.pythonhosted.org/packages/f5/74/0dfbedcab931df02d9437820014fd6f4b539b3aa64dbb8e7a362fe20343d/nosexcover-1.0.11-py2.py3-none-any.whl (from https://pypi.org/simple/nosexcover/) 2025-09-07T21:17:28,718 Found link https://files.pythonhosted.org/packages/11/b3/2b9e812eb9cb7e60bbfff0a1f581bf411d5b55156e211a4e3580560c8902/nosexcover-1.0.11.tar.gz (from https://pypi.org/simple/nosexcover/), version: 1.0.11 2025-09-07T21:17:28,718 Fetching project page and analyzing links: https://www.piwheels.org/simple/nosexcover/ 2025-09-07T21:17:28,718 Getting page https://www.piwheels.org/simple/nosexcover/ 2025-09-07T21:17:28,719 Found index url https://www.piwheels.org/simple/ 2025-09-07T21:17:28,923 Fetched page https://www.piwheels.org/simple/nosexcover/ as text/html 2025-09-07T21:17:28,926 Skipping link: No binaries permitted for nosexcover: https://archive1.piwheels.org/simple/nosexcover/nosexcover-1.0.11-py2.py3-none-any.whl#sha256=445de3e7f0b2d1bf0b53ac21aa924870eb2b46cc1aa4cc91629639a606b39177 (from https://www.piwheels.org/simple/nosexcover/) 2025-09-07T21:17:28,927 Skipping link: No binaries permitted for nosexcover: https://archive1.piwheels.org/simple/nosexcover/nosexcover-1.0.10-py3-none-any.whl#sha256=11aaa1a5933ce3a7440886cbb6c30d128a232306a8a7555a8147b3334a39ae67 (from https://www.piwheels.org/simple/nosexcover/) 2025-09-07T21:17:28,927 Skipping link: No binaries permitted for nosexcover: https://archive1.piwheels.org/simple/nosexcover/nosexcover-1.0.9-py3-none-any.whl#sha256=f7c996cdbaee12fad2c480259df3fc83381c3c7c75e956afac1dd262521fa73d (from https://www.piwheels.org/simple/nosexcover/) 2025-09-07T21:17:28,927 Skipping link: No binaries permitted for nosexcover: https://archive1.piwheels.org/simple/nosexcover/nosexcover-1.0.8-py3-none-any.whl#sha256=50bdfdd3fe13db100d4310509d00332fb1599aca7b463bf2180efc866d0b7edf (from https://www.piwheels.org/simple/nosexcover/) 2025-09-07T21:17:28,928 Skipping link: not a file: https://www.piwheels.org/simple/nosexcover/ 2025-09-07T21:17:28,928 Skipping link: not a file: https://pypi.org/simple/nosexcover/ 2025-09-07T21:17:28,965 Given no hashes to check 1 links for project 'nosexcover': discarding no candidates 2025-09-07T21:17:28,966 Collecting nosexcover==1.0.7 2025-09-07T21:17:28,968 Created temporary directory: /tmp/pip-unpack-mw7ava91 2025-09-07T21:17:29,420 Downloading nosexcover-1.0.7.tar.gz (2.4 kB) 2025-09-07T21:17:29,444 Added nosexcover==1.0.7 from https://files.pythonhosted.org/packages/b8/f9/efbc6e357aac1ca2a9937eff66bc6726a81c7d3a18c0e07f089fefa681eb/nosexcover-1.0.7.tar.gz to build tracker '/tmp/pip-build-tracker-8272h8ie' 2025-09-07T21:17:29,446 Running setup.py (path:/tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/setup.py) egg_info for package nosexcover 2025-09-07T21:17:29,446 Created temporary directory: /tmp/pip-pip-egg-info-krwgxer_ 2025-09-07T21:17:29,446 Preparing metadata (setup.py): started 2025-09-07T21:17:29,447 Running command python setup.py egg_info 2025-09-07T21:17:30,001 Traceback (most recent call last): 2025-09-07T21:17:30,002 File "/tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/setup.py", line 4, in 2025-09-07T21:17:30,002 desc = file.read(open('README.rst')) 2025-09-07T21:17:30,002 ^^^^ 2025-09-07T21:17:30,002 NameError: name 'file' is not defined. Did you mean: 'filter'? 2025-09-07T21:17:30,002 During handling of the above exception, another exception occurred: 2025-09-07T21:17:30,003 Traceback (most recent call last): 2025-09-07T21:17:30,004 File "", line 2, in 2025-09-07T21:17:30,004 exec(compile(''' 2025-09-07T21:17:30,004 ~~~~^^^^^^^^^^^^ 2025-09-07T21:17:30,004 # This is -- a caller that pip uses to run setup.py 2025-09-07T21:17:30,004 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,004 ...<32 lines>... 2025-09-07T21:17:30,005 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T21:17:30,005 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,005 ''' % ('/tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/setup.py',), "", "exec")) 2025-09-07T21:17:30,005 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,005 File "", line 35, in 2025-09-07T21:17:30,005 File "/tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/setup.py", line 5, in 2025-09-07T21:17:30,005 except StandardError: 2025-09-07T21:17:30,005 ^^^^^^^^^^^^^ 2025-09-07T21:17:30,005 NameError: name 'StandardError' is not defined 2025-09-07T21:17:30,091 ERROR: python setup.py egg_info exited with 1 2025-09-07T21:17:30,103 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T21:17:30,103 exec(compile('"'"''"'"''"'"' 2025-09-07T21:17:30,103 # This is -- a caller that pip uses to run setup.py 2025-09-07T21:17:30,103 # 2025-09-07T21:17:30,103 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T21:17:30,103 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T21:17:30,103 # - It provides a clear error message when setuptools is not installed. 2025-09-07T21:17:30,103 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T21:17:30,103 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T21:17:30,103 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T21:17:30,103 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T21:17:30,103 import os, sys, tokenize, traceback 2025-09-07T21:17:30,103 2025-09-07T21:17:30,103 try: 2025-09-07T21:17:30,103 import setuptools 2025-09-07T21:17:30,103 except ImportError: 2025-09-07T21:17:30,103 print( 2025-09-07T21:17:30,103 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T21:17:30,103 "the build environment with exception:", 2025-09-07T21:17:30,103 file=sys.stderr, 2025-09-07T21:17:30,103 ) 2025-09-07T21:17:30,103 traceback.print_exc() 2025-09-07T21:17:30,103 sys.exit(1) 2025-09-07T21:17:30,103 2025-09-07T21:17:30,103 __file__ = %r 2025-09-07T21:17:30,103 sys.argv[0] = __file__ 2025-09-07T21:17:30,103 2025-09-07T21:17:30,103 if os.path.exists(__file__): 2025-09-07T21:17:30,103 filename = __file__ 2025-09-07T21:17:30,103 with tokenize.open(__file__) as f: 2025-09-07T21:17:30,103 setup_py_code = f.read() 2025-09-07T21:17:30,103 else: 2025-09-07T21:17:30,103 filename = "" 2025-09-07T21:17:30,103 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T21:17:30,103 2025-09-07T21:17:30,103 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T21:17:30,103 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-krwgxer_[/] 2025-09-07T21:17:30,103 [bold magenta]cwd[/]: /tmp/pip-wheel-gipdq41v/nosexcover_1150f93aa6de4a649ef3e050c7540945/ 2025-09-07T21:17:30,103 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T21:17:30,104 ERROR: metadata generation failed 2025-09-07T21:17:30,109 Exception information: 2025-09-07T21:17:30,109 Traceback (most recent call last): 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T21:17:30,109 call_subprocess( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 args, 2025-09-07T21:17:30,109 ^^^^^ 2025-09-07T21:17:30,109 ...<2 lines>... 2025-09-07T21:17:30,109 spinner=spinner, 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T21:17:30,109 raise error 2025-09-07T21:17:30,109 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T21:17:30,109 2025-09-07T21:17:30,109 The above exception was the direct cause of the following exception: 2025-09-07T21:17:30,109 2025-09-07T21:17:30,109 Traceback (most recent call last): 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T21:17:30,109 status = _inner_run() 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T21:17:30,109 return self.run(options, args) 2025-09-07T21:17:30,109 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T21:17:30,109 return func(self, options, args) 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T21:17:30,109 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T21:17:30,109 result = self._result = resolver.resolve( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T21:17:30,109 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T21:17:30,109 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T21:17:30,109 if not criterion.candidates: 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T21:17:30,109 return bool(self._sequence) 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T21:17:30,109 self._bool = any(self) 2025-09-07T21:17:30,109 ~~~^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T21:17:30,109 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T21:17:30,109 ^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T21:17:30,109 candidate = func() 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T21:17:30,109 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 link, template, name, version 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T21:17:30,109 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 link, 2025-09-07T21:17:30,109 ^^^^^ 2025-09-07T21:17:30,109 ...<3 lines>... 2025-09-07T21:17:30,109 version=version, 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T21:17:30,109 super().__init__( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 link=link, 2025-09-07T21:17:30,109 ^^^^^^^^^^ 2025-09-07T21:17:30,109 ...<4 lines>... 2025-09-07T21:17:30,109 version=version, 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T21:17:30,109 self.dist = self._prepare() 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T21:17:30,109 dist = self._prepare_distribution() 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T21:17:30,109 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T21:17:30,109 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T21:17:30,109 dist = _get_prepared_distribution( 2025-09-07T21:17:30,109 req, 2025-09-07T21:17:30,109 ...<3 lines>... 2025-09-07T21:17:30,109 self.check_build_deps, 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T21:17:30,109 abstract_dist.prepare_distribution_metadata( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 finder, build_isolation, check_build_deps 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T21:17:30,109 self.req.prepare_metadata() 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T21:17:30,109 self.metadata_directory = generate_metadata_legacy( 2025-09-07T21:17:30,109 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T21:17:30,109 build_env=self.build_env, 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ...<3 lines>... 2025-09-07T21:17:30,109 details=details, 2025-09-07T21:17:30,109 ^^^^^^^^^^^^^^^^ 2025-09-07T21:17:30,109 ) 2025-09-07T21:17:30,109 ^ 2025-09-07T21:17:30,109 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T21:17:30,109 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T21:17:30,109 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T21:17:30,129 Removed nosexcover==1.0.7 from https://files.pythonhosted.org/packages/b8/f9/efbc6e357aac1ca2a9937eff66bc6726a81c7d3a18c0e07f089fefa681eb/nosexcover-1.0.7.tar.gz from build tracker '/tmp/pip-build-tracker-8272h8ie' 2025-09-07T21:17:30,130 Removed build tracker: '/tmp/pip-build-tracker-8272h8ie'