2025-09-07T23:55:36,881 Created temporary directory: /tmp/pip-build-tracker-snrguz68 2025-09-07T23:55:36,882 Initialized build tracking at /tmp/pip-build-tracker-snrguz68 2025-09-07T23:55:36,882 Created build tracker: /tmp/pip-build-tracker-snrguz68 2025-09-07T23:55:36,882 Entered build tracker: /tmp/pip-build-tracker-snrguz68 2025-09-07T23:55:36,883 Created temporary directory: /tmp/pip-wheel-4b6jbx3p 2025-09-07T23:55:36,886 Created temporary directory: /tmp/pip-ephem-wheel-cache-n23tj0fs 2025-09-07T23:55:36,945 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T23:55:36,948 2 location(s) to search for versions of visual-hash: 2025-09-07T23:55:36,948 * https://pypi.org/simple/visual-hash/ 2025-09-07T23:55:36,948 * https://www.piwheels.org/simple/visual-hash/ 2025-09-07T23:55:36,948 Fetching project page and analyzing links: https://pypi.org/simple/visual-hash/ 2025-09-07T23:55:36,948 Getting page https://pypi.org/simple/visual-hash/ 2025-09-07T23:55:36,950 Found index url https://pypi.org/simple/ 2025-09-07T23:55:37,096 Fetched page https://pypi.org/simple/visual-hash/ as application/vnd.pypi.simple.v1+json 2025-09-07T23:55:37,100 Found link https://files.pythonhosted.org/packages/a0/3d/3774537a86b13b9e79e3d8c8bc038d934bddd214799bb2c88d643d6b3423/visual-hash-0.0.0.linux-x86_64.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.linux-x86_64 2025-09-07T23:55:37,101 Found link https://files.pythonhosted.org/packages/17/79/13f1588655cc551a72aaab6a827a21e25f16520f1a673d988c2d4790bb62/visual-hash-0.0.0.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0 2025-09-07T23:55:37,101 Found link https://files.pythonhosted.org/packages/79/63/9bc895dfb97bea2d1573d3023834aa126b4a1f7c44d5abdc7bffe345a69e/visual-hash-0.0.0.1.linux-x86_64.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.1.linux-x86_64 2025-09-07T23:55:37,101 Found link https://files.pythonhosted.org/packages/23/99/6ee02489df4135118d1a270edd36a21036d296d78f184f03c933fe76799b/visual-hash-0.0.0.1.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.1 2025-09-07T23:55:37,102 Found link https://files.pythonhosted.org/packages/d0/59/36451866aba334052184508dc53f4f901a5edbcbc4205f59e55a555f9773/visual-hash-0.0.0.2.linux-x86_64.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.2.linux-x86_64 2025-09-07T23:55:37,102 Found link https://files.pythonhosted.org/packages/db/de/db5457b3f51b46e2a816f9809bad53eae0309a58d35958e0b9ac6e3a72be/visual-hash-0.0.0.2.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.2 2025-09-07T23:55:37,102 Found link https://files.pythonhosted.org/packages/23/fc/8a7b077038bdcc33514bb2f8862bc7a4bb9e0d5f2872c9c7f6c0016c2f8c/visual-hash-0.0.0.3.linux-x86_64.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.3.linux-x86_64 2025-09-07T23:55:37,103 Found link https://files.pythonhosted.org/packages/e4/a9/88971e013b8f7bfd4133e1d4dc6b20b6d667344c10ddb9445f27ae36d972/visual-hash-0.0.0.3.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.3 2025-09-07T23:55:37,103 Found link https://files.pythonhosted.org/packages/fa/1c/b8f96f9c811c0b27005f7845974d77c9c1960f8a7d65be321fcfe3c53d63/visual-hash-0.0.0.4.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.4 2025-09-07T23:55:37,103 Found link https://files.pythonhosted.org/packages/c6/c4/06db6d96ed719e8be3a25b471edd43565dd4846302a8e3a8aa35de068997/visual-hash-0.0.0.5.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.5 2025-09-07T23:55:37,103 Found link https://files.pythonhosted.org/packages/e8/de/9616fb97051afb41ec4aab3a056ecf9644ab4125723b9be4f3f5f3a5f4b8/visual-hash-0.0.0.6.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.6 2025-09-07T23:55:37,104 Found link https://files.pythonhosted.org/packages/95/e9/db3fd996ad7fd2070128d4dfae568c462e329de1f0a5f57cf816068e093d/visual-hash-0.0.0.7.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.7 2025-09-07T23:55:37,104 Found link https://files.pythonhosted.org/packages/27/75/85b0e60b7808d282ce9166dfa37b91b5dc05c71ff25a2f388dfe40bee10a/visual-hash-0.0.0.8.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.8 2025-09-07T23:55:37,104 Found link https://files.pythonhosted.org/packages/9d/11/ea21de725f1366ec3869fb3f49f5b7fbc6e2c14efd6df126ed78ef9d00d6/visual-hash-0.0.0.9.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.9 2025-09-07T23:55:37,105 Found link https://files.pythonhosted.org/packages/ef/86/2f3df77de7fb4421bb1b00f91eeef0fb0a39b2b98c7c1c4bc19ec6349c1f/visual-hash-0.0.0.10.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.10 2025-09-07T23:55:37,105 Found link https://files.pythonhosted.org/packages/7c/93/78996ea70806fe0ab3bd5b9345a86aea2f33ea1ccfa873e1f66b50f001f0/visual-hash-0.0.0.11.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.11 2025-09-07T23:55:37,105 Found link https://files.pythonhosted.org/packages/4d/09/7ae90f8e3ce1e26a41c7164421c53b4eaf14b3050bfcc68685dae6ba697d/visual-hash-0.0.0.12.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.12 2025-09-07T23:55:37,106 Found link https://files.pythonhosted.org/packages/c2/ff/6054dcb3bb5bccbf3febac60d0af361233d666b3ceaaaa7528dfa8aee113/visual-hash-0.0.0.13.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.13 2025-09-07T23:55:37,106 Found link https://files.pythonhosted.org/packages/cb/31/89cebcc0593ecc7758b79efac5a746931e3274778fde51caff8cbf98dcf9/visual-hash-0.0.0.14.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.14 2025-09-07T23:55:37,106 Found link https://files.pythonhosted.org/packages/ac/d9/35a8fbc7d21843004d0bf0143026cc96226a6c67c266f15aeed33fd9c3fb/visual-hash-0.0.0.15.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.15 2025-09-07T23:55:37,106 Found link https://files.pythonhosted.org/packages/33/77/e9aacdeca27641334a09003a75a35c03fda5d0c4698c1cc4ce1ebf66b44b/visual-hash-0.0.0.16.tar.gz (from https://pypi.org/simple/visual-hash/), version: 0.0.0.16 2025-09-07T23:55:37,107 Fetching project page and analyzing links: https://www.piwheels.org/simple/visual-hash/ 2025-09-07T23:55:37,107 Getting page https://www.piwheels.org/simple/visual-hash/ 2025-09-07T23:55:37,108 Found index url https://www.piwheels.org/simple/ 2025-09-07T23:55:37,214 Fetched page https://www.piwheels.org/simple/visual-hash/ as text/html 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.16-py3-none-any.whl#sha256=d2457a25539d792a05d22a9617295fcb6c4487b95cd203e0b8b91dba6ed5f4e7 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.15-py3-none-any.whl#sha256=44df770d33fd7de59f7120ec62f8c5e2c20326bcb71ba43bd8802fd2e5bc1059 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.14-py3-none-any.whl#sha256=3acfe03120184ca12a01b0c910ea170c94c23602d110caf1e589b57c7c9f603b (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.13-py3-none-any.whl#sha256=c551bd9179db2f7de7c5cf0a0781c275b1eb003bcccdef2623c9c4d0d69652fe (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.12-py3-none-any.whl#sha256=af00e888d254e5bb248c2df1172ec9f149fdc58bdd5dc63cd36333414d82ed00 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,217 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.11-py3-none-any.whl#sha256=f0a99de34b274a30b93483735520742593fdaba210a66b2fbb0875e6ec917144 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.10-py3-none-any.whl#sha256=ac049f2c132903ee608a2c52f7c1aadacbad2db483d589dcce6d4cd1bb8a9c2d (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.9-py3-none-any.whl#sha256=8727ad512a6b022a76a15d3ef4e0642f9b59ac3c95c040fb8e96084f08f10cfd (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.8-py3-none-any.whl#sha256=4ebe4fe351b9afd6c02090275919d8c3e77bb79ebfffbdcacfeef1b058041551 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.6-py3-none-any.whl#sha256=d34993b7d2b256615c470e6c3ce83d110d99c445747db3adc3669918c7066211 (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.4-py3-none-any.whl#sha256=b7d77e2b8ccd52af6ad9a8b198a76a733fa7b94e894c0b1664229da7da9d17bf (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: No binaries permitted for visual-hash: https://archive1.piwheels.org/simple/visual-hash/visual_hash-0.0.0.3-py3-none-any.whl#sha256=e33005fd81700b9756552a20e3e4ded2d80d098d43d5ef7bdc6773c4aa77b91d (from https://www.piwheels.org/simple/visual-hash/) 2025-09-07T23:55:37,218 Skipping link: not a file: https://www.piwheels.org/simple/visual-hash/ 2025-09-07T23:55:37,218 Skipping link: not a file: https://pypi.org/simple/visual-hash/ 2025-09-07T23:55:37,250 Given no hashes to check 1 links for project 'visual-hash': discarding no candidates 2025-09-07T23:55:37,251 Collecting visual-hash==0.0.0 2025-09-07T23:55:37,253 Created temporary directory: /tmp/pip-unpack-fzdimrws 2025-09-07T23:55:37,390 Downloading visual-hash-0.0.0.tar.gz (75 kB) 2025-09-07T23:55:37,439 Added visual-hash==0.0.0 from https://files.pythonhosted.org/packages/17/79/13f1588655cc551a72aaab6a827a21e25f16520f1a673d988c2d4790bb62/visual-hash-0.0.0.tar.gz to build tracker '/tmp/pip-build-tracker-snrguz68' 2025-09-07T23:55:37,440 Running setup.py (path:/tmp/pip-wheel-4b6jbx3p/visual-hash_2314b66807794c3bbe92ee3504b7b458/setup.py) egg_info for package visual-hash 2025-09-07T23:55:37,441 Created temporary directory: /tmp/pip-pip-egg-info-z04kiz_k 2025-09-07T23:55:37,441 Preparing metadata (setup.py): started 2025-09-07T23:55:37,442 Running command python setup.py egg_info 2025-09-07T23:55:38,453 Traceback (most recent call last): 2025-09-07T23:55:38,456 File "", line 2, in 2025-09-07T23:55:38,456 exec(compile(''' 2025-09-07T23:55:38,456 ~~~~^^^^^^^^^^^^ 2025-09-07T23:55:38,456 # This is -- a caller that pip uses to run setup.py 2025-09-07T23:55:38,456 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,456 ...<32 lines>... 2025-09-07T23:55:38,457 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T23:55:38,457 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,457 ''' % ('/tmp/pip-wheel-4b6jbx3p/visual-hash_2314b66807794c3bbe92ee3504b7b458/setup.py',), "", "exec")) 2025-09-07T23:55:38,457 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,457 File "", line 35, in 2025-09-07T23:55:38,457 File "/tmp/pip-wheel-4b6jbx3p/visual-hash_2314b66807794c3bbe92ee3504b7b458/setup.py", line 17, in 2025-09-07T23:55:38,457 ext_modules = cythonize("VisualHashPrivate/FractalTransform.pyx"), 2025-09-07T23:55:38,457 ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,458 File "/usr/local/lib/python3.13/dist-packages/Cython/Build/Dependencies.py", line 978, in cythonize 2025-09-07T23:55:38,458 module_list, module_metadata = create_extension_list( 2025-09-07T23:55:38,458 ~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,458 module_list, 2025-09-07T23:55:38,458 ^^^^^^^^^^^^ 2025-09-07T23:55:38,458 ...<4 lines>... 2025-09-07T23:55:38,458 language=language, 2025-09-07T23:55:38,458 ^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,458 aliases=aliases) 2025-09-07T23:55:38,459 ^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,459 File "/usr/local/lib/python3.13/dist-packages/Cython/Build/Dependencies.py", line 809, in create_extension_list 2025-09-07T23:55:38,459 for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern): 2025-09-07T23:55:38,459 ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,459 File "/usr/local/lib/python3.13/dist-packages/Cython/Build/Dependencies.py", line 80, in nonempty 2025-09-07T23:55:38,459 raise ValueError(error_msg) 2025-09-07T23:55:38,459 ValueError: 'VisualHashPrivate/FractalTransform.pyx' doesn't match any files 2025-09-07T23:55:38,589 ERROR: python setup.py egg_info exited with 1 2025-09-07T23:55:38,601 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-07T23:55:38,601 exec(compile('"'"''"'"''"'"' 2025-09-07T23:55:38,601 # This is -- a caller that pip uses to run setup.py 2025-09-07T23:55:38,601 # 2025-09-07T23:55:38,601 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T23:55:38,601 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T23:55:38,601 # - It provides a clear error message when setuptools is not installed. 2025-09-07T23:55:38,601 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T23:55:38,601 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T23:55:38,601 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T23:55:38,601 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T23:55:38,601 import os, sys, tokenize, traceback 2025-09-07T23:55:38,601 2025-09-07T23:55:38,601 try: 2025-09-07T23:55:38,601 import setuptools 2025-09-07T23:55:38,601 except ImportError: 2025-09-07T23:55:38,601 print( 2025-09-07T23:55:38,601 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T23:55:38,601 "the build environment with exception:", 2025-09-07T23:55:38,601 file=sys.stderr, 2025-09-07T23:55:38,601 ) 2025-09-07T23:55:38,601 traceback.print_exc() 2025-09-07T23:55:38,601 sys.exit(1) 2025-09-07T23:55:38,601 2025-09-07T23:55:38,601 __file__ = %r 2025-09-07T23:55:38,601 sys.argv[0] = __file__ 2025-09-07T23:55:38,601 2025-09-07T23:55:38,601 if os.path.exists(__file__): 2025-09-07T23:55:38,601 filename = __file__ 2025-09-07T23:55:38,601 with tokenize.open(__file__) as f: 2025-09-07T23:55:38,601 setup_py_code = f.read() 2025-09-07T23:55:38,601 else: 2025-09-07T23:55:38,601 filename = "" 2025-09-07T23:55:38,601 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T23:55:38,601 2025-09-07T23:55:38,601 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T23:55:38,601 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-4b6jbx3p/visual-hash_2314b66807794c3bbe92ee3504b7b458/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-z04kiz_k[/] 2025-09-07T23:55:38,601 [bold magenta]cwd[/]: /tmp/pip-wheel-4b6jbx3p/visual-hash_2314b66807794c3bbe92ee3504b7b458/ 2025-09-07T23:55:38,601 Preparing metadata (setup.py): finished with status 'error' 2025-09-07T23:55:38,602 ERROR: metadata generation failed 2025-09-07T23:55:38,607 Exception information: 2025-09-07T23:55:38,607 Traceback (most recent call last): 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-07T23:55:38,607 call_subprocess( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 args, 2025-09-07T23:55:38,607 ^^^^^ 2025-09-07T23:55:38,607 ...<2 lines>... 2025-09-07T23:55:38,607 spinner=spinner, 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-07T23:55:38,607 raise error 2025-09-07T23:55:38,607 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-07T23:55:38,607 2025-09-07T23:55:38,607 The above exception was the direct cause of the following exception: 2025-09-07T23:55:38,607 2025-09-07T23:55:38,607 Traceback (most recent call last): 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T23:55:38,607 status = _inner_run() 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T23:55:38,607 return self.run(options, args) 2025-09-07T23:55:38,607 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T23:55:38,607 return func(self, options, args) 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-07T23:55:38,607 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-07T23:55:38,607 result = self._result = resolver.resolve( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-07T23:55:38,607 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-07T23:55:38,607 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-07T23:55:38,607 if not criterion.candidates: 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-07T23:55:38,607 return bool(self._sequence) 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-07T23:55:38,607 self._bool = any(self) 2025-09-07T23:55:38,607 ~~~^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-07T23:55:38,607 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-07T23:55:38,607 ^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-07T23:55:38,607 candidate = func() 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-07T23:55:38,607 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 link, template, name, version 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-07T23:55:38,607 self._link_candidate_cache[link] = LinkCandidate( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 link, 2025-09-07T23:55:38,607 ^^^^^ 2025-09-07T23:55:38,607 ...<3 lines>... 2025-09-07T23:55:38,607 version=version, 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-07T23:55:38,607 super().__init__( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 link=link, 2025-09-07T23:55:38,607 ^^^^^^^^^^ 2025-09-07T23:55:38,607 ...<4 lines>... 2025-09-07T23:55:38,607 version=version, 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-07T23:55:38,607 self.dist = self._prepare() 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-07T23:55:38,607 dist = self._prepare_distribution() 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-07T23:55:38,607 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-07T23:55:38,607 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-07T23:55:38,607 dist = _get_prepared_distribution( 2025-09-07T23:55:38,607 req, 2025-09-07T23:55:38,607 ...<3 lines>... 2025-09-07T23:55:38,607 self.check_build_deps, 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-07T23:55:38,607 abstract_dist.prepare_distribution_metadata( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 finder, build_isolation, check_build_deps 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-07T23:55:38,607 self.req.prepare_metadata() 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-07T23:55:38,607 self.metadata_directory = generate_metadata_legacy( 2025-09-07T23:55:38,607 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T23:55:38,607 build_env=self.build_env, 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ...<3 lines>... 2025-09-07T23:55:38,607 details=details, 2025-09-07T23:55:38,607 ^^^^^^^^^^^^^^^^ 2025-09-07T23:55:38,607 ) 2025-09-07T23:55:38,607 ^ 2025-09-07T23:55:38,607 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-07T23:55:38,607 raise MetadataGenerationFailed(package_details=details) from error 2025-09-07T23:55:38,607 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-07T23:55:38,629 Removed visual-hash==0.0.0 from https://files.pythonhosted.org/packages/17/79/13f1588655cc551a72aaab6a827a21e25f16520f1a673d988c2d4790bb62/visual-hash-0.0.0.tar.gz from build tracker '/tmp/pip-build-tracker-snrguz68' 2025-09-07T23:55:38,630 Removed build tracker: '/tmp/pip-build-tracker-snrguz68'