2025-09-08T03:37:42,550 Created temporary directory: /tmp/pip-build-tracker-1lsd81_r 2025-09-08T03:37:42,550 Initialized build tracking at /tmp/pip-build-tracker-1lsd81_r 2025-09-08T03:37:42,550 Created build tracker: /tmp/pip-build-tracker-1lsd81_r 2025-09-08T03:37:42,550 Entered build tracker: /tmp/pip-build-tracker-1lsd81_r 2025-09-08T03:37:42,551 Created temporary directory: /tmp/pip-wheel-s79l9pk0 2025-09-08T03:37:42,554 Created temporary directory: /tmp/pip-ephem-wheel-cache-iklgiyvs 2025-09-08T03:37:42,613 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T03:37:42,615 2 location(s) to search for versions of django-predicate: 2025-09-08T03:37:42,615 * https://pypi.org/simple/django-predicate/ 2025-09-08T03:37:42,615 * https://www.piwheels.org/simple/django-predicate/ 2025-09-08T03:37:42,616 Fetching project page and analyzing links: https://pypi.org/simple/django-predicate/ 2025-09-08T03:37:42,616 Getting page https://pypi.org/simple/django-predicate/ 2025-09-08T03:37:42,617 Found index url https://pypi.org/simple/ 2025-09-08T03:37:42,764 Fetched page https://pypi.org/simple/django-predicate/ as application/vnd.pypi.simple.v1+json 2025-09-08T03:37:42,768 Found link https://files.pythonhosted.org/packages/10/df/713fcf92cd6aa0b1da2719263bd4d2cdb105bd86261a4180d58da6e6f435/django-predicate-0.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 0.1 2025-09-08T03:37:42,769 Found link https://files.pythonhosted.org/packages/b5/40/1fe2e438772560a8ce3f4cf69826781155911b7741a2ca04cc426f44e5eb/django-predicate-0.1.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 0.1.1 2025-09-08T03:37:42,769 Found link https://files.pythonhosted.org/packages/f3/59/05d2c5d28a19d0bf36970b19c50e7e4c36261f5d7b70089a7074663397bc/django-predicate-1.0.0.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.0.0 2025-09-08T03:37:42,770 Found link https://files.pythonhosted.org/packages/7b/8d/2505ea959f2fc29ef0377a40941020bc45107712e5e998cf157e330cf014/django-predicate-1.0.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.0.1 2025-09-08T03:37:42,770 Found link https://files.pythonhosted.org/packages/c9/25/3f70e7947ecd978714a82598e280ea0215feb75ce74f61552229800e41e8/django-predicate-1.1.0.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.1.0 2025-09-08T03:37:42,771 Found link https://files.pythonhosted.org/packages/2f/45/77fbc6c267501dcf66de83cba1ec65b8162846c09dd81ce5d4d46a9a5a15/django-predicate-1.2.0.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.2.0 2025-09-08T03:37:42,771 Found link https://files.pythonhosted.org/packages/2f/99/7affe12f0b60210d7e0c48cb0e0e44f6c0d072ec9562209ae700b452afed/django-predicate-1.2.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.2.1 2025-09-08T03:37:42,772 Found link https://files.pythonhosted.org/packages/7b/83/67df53aaa5b19b817a5bc8fc6976d8854cef8de8ec1c282f0638e7c4b743/django-predicate-1.2.2.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.2.2 2025-09-08T03:37:42,772 Found link https://files.pythonhosted.org/packages/6d/a7/100a20c766c2aff3aecb51be2aa3abd8c9443d6f90da4949ec26c4c034c8/django-predicate-1.3.0.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.3.0 2025-09-08T03:37:42,773 Found link https://files.pythonhosted.org/packages/f0/ee/920e6c5babb1eb41a72ebe2f16f5a1ed6e1771116c1ba6eeb4878a28f67a/django-predicate-1.3.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.3.1 2025-09-08T03:37:42,773 Found link https://files.pythonhosted.org/packages/e2/ed/9ca045d3878bbc1426690e8611238846a287d7d225d6eefece3735c93720/django-predicate-1.4.0.tar.gz (from https://pypi.org/simple/django-predicate/), version: 1.4.0 2025-09-08T03:37:42,774 Found link https://files.pythonhosted.org/packages/4e/1b/5a6f304d6a21256fd8fefa2918ff9c1fa527b8eeef2d273c1ac4ca6b12b5/django-predicate-2.0.1.tar.gz (from https://pypi.org/simple/django-predicate/), version: 2.0.1 2025-09-08T03:37:42,774 Fetching project page and analyzing links: https://www.piwheels.org/simple/django-predicate/ 2025-09-08T03:37:42,775 Getting page https://www.piwheels.org/simple/django-predicate/ 2025-09-08T03:37:42,777 Found index url https://www.piwheels.org/simple/ 2025-09-08T03:37:42,879 Fetched page https://www.piwheels.org/simple/django-predicate/ as text/html 2025-09-08T03:37:42,881 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-2.0.1-py3-none-any.whl#sha256=bdce9fb40f9aa8aacd4b14aa2960cb1e5bc3ebc5c9de365428821945199438da (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,881 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.4.0-py3-none-any.whl#sha256=401259c3807ce05be569f87b44c0cb27670866a2a1a35e98a8d25648293ce383 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,881 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.3.1-py3-none-any.whl#sha256=d5046871fab567fc53c235e26062126f66c4fbc334162e37995e730e2afbbc75 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.3.0-py3-none-any.whl#sha256=4d030ad3bd2bda85ea4a3827c2ba8d2f37b74a2e048d37a958ba1f0717c22394 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.2.2-py3-none-any.whl#sha256=6509784a50892d55418b6eae48b95bafae2e75ae45bc1901b0d257aff85977a3 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.2.1-py3-none-any.whl#sha256=4b16d6ed8deed473e99316a0b5f626050eccb0ac8f622de3fe69b9d65d296b66 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.2.0-py3-none-any.whl#sha256=ac384d8912bc6cadf5c4138ece58a93c82b3a95563f888a2b0dd811f00344da2 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.1.0-py3-none-any.whl#sha256=f515bd234abf3eac8636d150e935298f41c57202e3121366009051a3c8f36d5f (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-1.0.1-py3-none-any.whl#sha256=ac9ab654ec5b6b359bc0976f5c954505a6e1ce29b96c57371aadea3fd9d3ecd4 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-0.1.1-py3-none-any.whl#sha256=1a80a095e00fcb384c7680206566fe1a9cf801efa65638dadbdcbcf9eb2dd350 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,882 Skipping link: No binaries permitted for django-predicate: https://archive1.piwheels.org/simple/django-predicate/django_predicate-0.1-py3-none-any.whl#sha256=a1798c62d9e897a492d664dae1c467a2eb18fb852c84868764490ec50f448a17 (from https://www.piwheels.org/simple/django-predicate/) 2025-09-08T03:37:42,883 Skipping link: not a file: https://www.piwheels.org/simple/django-predicate/ 2025-09-08T03:37:42,883 Skipping link: not a file: https://pypi.org/simple/django-predicate/ 2025-09-08T03:37:42,909 Given no hashes to check 1 links for project 'django-predicate': discarding no candidates 2025-09-08T03:37:42,910 Collecting django-predicate==1.0.0 2025-09-08T03:37:42,912 Created temporary directory: /tmp/pip-unpack-vfjqhb_g 2025-09-08T03:37:43,048 Downloading django-predicate-1.0.0.tar.gz (6.7 kB) 2025-09-08T03:37:43,073 Added django-predicate==1.0.0 from https://files.pythonhosted.org/packages/f3/59/05d2c5d28a19d0bf36970b19c50e7e4c36261f5d7b70089a7074663397bc/django-predicate-1.0.0.tar.gz to build tracker '/tmp/pip-build-tracker-1lsd81_r' 2025-09-08T03:37:43,074 Running setup.py (path:/tmp/pip-wheel-s79l9pk0/django-predicate_8a234a4e8fae477485e9e09bafc226ff/setup.py) egg_info for package django-predicate 2025-09-08T03:37:43,075 Created temporary directory: /tmp/pip-pip-egg-info-3j2yic_j 2025-09-08T03:37:43,075 Preparing metadata (setup.py): started 2025-09-08T03:37:43,076 Running command python setup.py egg_info 2025-09-08T03:37:43,768 /usr/local/lib/python3.13/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite' 2025-09-08T03:37:43,768 warnings.warn(msg) 2025-09-08T03:37:44,153 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-08T03:37:44,153 !! 2025-09-08T03:37:44,153 ******************************************************************************** 2025-09-08T03:37:44,153 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-08T03:37:44,154 License :: OSI Approved :: BSD License 2025-09-08T03:37:44,154 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-08T03:37:44,154 ******************************************************************************** 2025-09-08T03:37:44,154 !! 2025-09-08T03:37:44,154 self._finalize_license_expression() 2025-09-08T03:37:44,226 running egg_info 2025-09-08T03:37:44,302 creating /tmp/pip-pip-egg-info-3j2yic_j/django_predicate.egg-info 2025-09-08T03:37:44,302 writing /tmp/pip-pip-egg-info-3j2yic_j/django_predicate.egg-info/PKG-INFO 2025-09-08T03:37:44,304 writing dependency_links to /tmp/pip-pip-egg-info-3j2yic_j/django_predicate.egg-info/dependency_links.txt 2025-09-08T03:37:44,304 writing top-level names to /tmp/pip-pip-egg-info-3j2yic_j/django_predicate.egg-info/top_level.txt 2025-09-08T03:37:44,305 writing manifest file '/tmp/pip-pip-egg-info-3j2yic_j/django_predicate.egg-info/SOURCES.txt' 2025-09-08T03:37:44,455 error: package directory 'tests' does not exist 2025-09-08T03:37:44,567 ERROR: python setup.py egg_info exited with 1 2025-09-08T03:37:44,579 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T03:37:44,579 exec(compile('"'"''"'"''"'"' 2025-09-08T03:37:44,579 # This is -- a caller that pip uses to run setup.py 2025-09-08T03:37:44,579 # 2025-09-08T03:37:44,579 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T03:37:44,579 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T03:37:44,579 # - It provides a clear error message when setuptools is not installed. 2025-09-08T03:37:44,579 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T03:37:44,579 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T03:37:44,579 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T03:37:44,579 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T03:37:44,579 import os, sys, tokenize, traceback 2025-09-08T03:37:44,579 2025-09-08T03:37:44,579 try: 2025-09-08T03:37:44,579 import setuptools 2025-09-08T03:37:44,579 except ImportError: 2025-09-08T03:37:44,579 print( 2025-09-08T03:37:44,579 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T03:37:44,579 "the build environment with exception:", 2025-09-08T03:37:44,579 file=sys.stderr, 2025-09-08T03:37:44,579 ) 2025-09-08T03:37:44,579 traceback.print_exc() 2025-09-08T03:37:44,579 sys.exit(1) 2025-09-08T03:37:44,579 2025-09-08T03:37:44,579 __file__ = %r 2025-09-08T03:37:44,579 sys.argv[0] = __file__ 2025-09-08T03:37:44,579 2025-09-08T03:37:44,579 if os.path.exists(__file__): 2025-09-08T03:37:44,579 filename = __file__ 2025-09-08T03:37:44,579 with tokenize.open(__file__) as f: 2025-09-08T03:37:44,579 setup_py_code = f.read() 2025-09-08T03:37:44,579 else: 2025-09-08T03:37:44,579 filename = "" 2025-09-08T03:37:44,579 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T03:37:44,579 2025-09-08T03:37:44,579 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T03:37:44,579 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-s79l9pk0/django-predicate_8a234a4e8fae477485e9e09bafc226ff/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-3j2yic_j[/] 2025-09-08T03:37:44,580 [bold magenta]cwd[/]: /tmp/pip-wheel-s79l9pk0/django-predicate_8a234a4e8fae477485e9e09bafc226ff/ 2025-09-08T03:37:44,580 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T03:37:44,581 ERROR: metadata generation failed 2025-09-08T03:37:44,588 Exception information: 2025-09-08T03:37:44,588 Traceback (most recent call last): 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T03:37:44,588 call_subprocess( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 args, 2025-09-08T03:37:44,588 ^^^^^ 2025-09-08T03:37:44,588 ...<2 lines>... 2025-09-08T03:37:44,588 spinner=spinner, 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T03:37:44,588 raise error 2025-09-08T03:37:44,588 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T03:37:44,588 2025-09-08T03:37:44,588 The above exception was the direct cause of the following exception: 2025-09-08T03:37:44,588 2025-09-08T03:37:44,588 Traceback (most recent call last): 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T03:37:44,588 status = _inner_run() 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T03:37:44,588 return self.run(options, args) 2025-09-08T03:37:44,588 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T03:37:44,588 return func(self, options, args) 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T03:37:44,588 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T03:37:44,588 result = self._result = resolver.resolve( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T03:37:44,588 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T03:37:44,588 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T03:37:44,588 if not criterion.candidates: 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T03:37:44,588 return bool(self._sequence) 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T03:37:44,588 self._bool = any(self) 2025-09-08T03:37:44,588 ~~~^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T03:37:44,588 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T03:37:44,588 ^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T03:37:44,588 candidate = func() 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T03:37:44,588 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 link, template, name, version 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T03:37:44,588 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 link, 2025-09-08T03:37:44,588 ^^^^^ 2025-09-08T03:37:44,588 ...<3 lines>... 2025-09-08T03:37:44,588 version=version, 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T03:37:44,588 super().__init__( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 link=link, 2025-09-08T03:37:44,588 ^^^^^^^^^^ 2025-09-08T03:37:44,588 ...<4 lines>... 2025-09-08T03:37:44,588 version=version, 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T03:37:44,588 self.dist = self._prepare() 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T03:37:44,588 dist = self._prepare_distribution() 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T03:37:44,588 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T03:37:44,588 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T03:37:44,588 dist = _get_prepared_distribution( 2025-09-08T03:37:44,588 req, 2025-09-08T03:37:44,588 ...<3 lines>... 2025-09-08T03:37:44,588 self.check_build_deps, 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T03:37:44,588 abstract_dist.prepare_distribution_metadata( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 finder, build_isolation, check_build_deps 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T03:37:44,588 self.req.prepare_metadata() 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T03:37:44,588 self.metadata_directory = generate_metadata_legacy( 2025-09-08T03:37:44,588 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T03:37:44,588 build_env=self.build_env, 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ...<3 lines>... 2025-09-08T03:37:44,588 details=details, 2025-09-08T03:37:44,588 ^^^^^^^^^^^^^^^^ 2025-09-08T03:37:44,588 ) 2025-09-08T03:37:44,588 ^ 2025-09-08T03:37:44,588 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T03:37:44,588 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T03:37:44,588 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T03:37:44,611 Removed django-predicate==1.0.0 from https://files.pythonhosted.org/packages/f3/59/05d2c5d28a19d0bf36970b19c50e7e4c36261f5d7b70089a7074663397bc/django-predicate-1.0.0.tar.gz from build tracker '/tmp/pip-build-tracker-1lsd81_r' 2025-09-08T03:37:44,611 Removed build tracker: '/tmp/pip-build-tracker-1lsd81_r'