2025-09-10T12:06:39,020 Created temporary directory: /tmp/pip-build-tracker-22f3qlip 2025-09-10T12:06:39,021 Initialized build tracking at /tmp/pip-build-tracker-22f3qlip 2025-09-10T12:06:39,021 Created build tracker: /tmp/pip-build-tracker-22f3qlip 2025-09-10T12:06:39,021 Entered build tracker: /tmp/pip-build-tracker-22f3qlip 2025-09-10T12:06:39,021 Created temporary directory: /tmp/pip-wheel-wtuezq7n 2025-09-10T12:06:39,024 Created temporary directory: /tmp/pip-ephem-wheel-cache-wfi4hpoa 2025-09-10T12:06:39,081 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-10T12:06:39,083 2 location(s) to search for versions of optimize-images: 2025-09-10T12:06:39,083 * https://pypi.org/simple/optimize-images/ 2025-09-10T12:06:39,083 * https://www.piwheels.org/simple/optimize-images/ 2025-09-10T12:06:39,083 Fetching project page and analyzing links: https://pypi.org/simple/optimize-images/ 2025-09-10T12:06:39,084 Getting page https://pypi.org/simple/optimize-images/ 2025-09-10T12:06:39,085 Found index url https://pypi.org/simple/ 2025-09-10T12:06:39,230 Fetched page https://pypi.org/simple/optimize-images/ as application/vnd.pypi.simple.v1+json 2025-09-10T12:06:39,234 Found link https://files.pythonhosted.org/packages/85/de/24332502a3657f9fb140e598042395fa348b6085e8a52cf629649fd272f0/optimize-images-1.2.0.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.2.0 2025-09-10T12:06:39,234 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/e4/cb/84b2ff17fa1a4e59bdfea2bd3e74c3b7d558397e11001af5a04ab24c4c46/optimize_images-1.2.0-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,234 Found link https://files.pythonhosted.org/packages/6d/03/c981971061d2ff06463b5317947388fc05fda7f334c068053a017737a83b/optimize-images-1.3.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3 2025-09-10T12:06:39,235 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/89/ee/01b50d5c9d538b844ec77c61d6409e746c41a69efc426f174d9f26795627/optimize_images-1.3-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,235 Found link https://files.pythonhosted.org/packages/ef/b3/bceae17551079cbfa21db064ecc223489474ab4036b0e2c9d8e9d789cb01/optimize-images-1.3.1.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.1 2025-09-10T12:06:39,235 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/06/ad/9a4bce6a9f2217d52d1ac896d2a5918c66f48d7424544671bc0f6130eeb7/optimize_images-1.3.1-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,236 Found link https://files.pythonhosted.org/packages/14/58/2d2a35ded9394af72bac8d206931c9e710aa145f587798d1a0973fd0899d/optimize-images-1.3.2.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.2 2025-09-10T12:06:39,236 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/41/09/7af365e76803960eee8877feeb7203f96fea0c57dd56371844b23a8ac327/optimize_images-1.3.2-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,236 Found link https://files.pythonhosted.org/packages/8e/29/479af6dc6888005e9bbd2823a4448aa8bd0f1183ce4875d6ac6d3c6772ae/optimize-images-1.3.3.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.3 2025-09-10T12:06:39,237 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/41/f8/aa8054e45d80a096c1f85349d17391ddf43cdb97adcd1b7abcfac025decc/optimize_images-1.3.3-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,237 Found link https://files.pythonhosted.org/packages/15/31/cf975c203325ce9cf0b71d642e88a3fa88341934edbdb5408bd2d28a1271/optimize-images-1.3.4.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.4 2025-09-10T12:06:39,237 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/81/27/7224953954e7797c0c67efaabb2596874f5e18617937219a4e4ed695042d/optimize_images-1.3.4-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,238 Found link https://files.pythonhosted.org/packages/fc/58/b7af9985da254a5654b1b35c476ccbde92a7e3f383163891e9435c07d5be/optimize-images-1.3.5.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.5 2025-09-10T12:06:39,238 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/68/88/89db80ec66ca2517e1ee892e8adda1fbb394f266c9f7ebc8d05b17e2d4d6/optimize_images-1.3.5-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,238 Found link https://files.pythonhosted.org/packages/90/80/96dba2afd34205332d159943ecb9e92cce785fc8dcb071be2bbbb51e99e4/optimize-images-1.3.6.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6), version: 1.3.6 2025-09-10T12:06:39,239 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/99/90/603464647ed07efdfee17f9a6c6bff1a9c29891a677dcfecdf203308751d/optimize_images-1.3.6-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,239 Found link https://files.pythonhosted.org/packages/97/a1/fe6d6ab9cd4eadcb2f79ef5d37bbe34621df9210015af1089746394af322/optimize-images-1.4.0a3.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7), version: 1.4.0a3 2025-09-10T12:06:39,240 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/7e/e8/58a7ac1504f60d5d40d80a546355dd0e648be93e30a92cd06057e64ca227/optimize_images-1.4.0a3-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,240 Found link https://files.pythonhosted.org/packages/22/cc/35df6a656aa95b360c83c40d47162f741cd36b9cf2be33d29a85dcaf984e/optimize-images-1.4.0.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7), version: 1.4.0 2025-09-10T12:06:39,240 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/54/82/e45dbf12d51b0696b0f313aa68f4a4f9908b2dc99e66dd3901e096d8743e/optimize_images-1.4.0-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,241 Found link https://files.pythonhosted.org/packages/39/16/e206817f6f08eb967ea363535dae35b2f86ce72d22fe0498df7c1971b4b3/optimize-images-1.5.0.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7), version: 1.5.0 2025-09-10T12:06:39,241 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/d6/63/13f79e78618aa6959df8ae2dcf1447e349dced9a30b456c13a9b7c929cc6/optimize_images-1.5.0-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,241 Found link https://files.pythonhosted.org/packages/d9/d4/a29188fbeaefcf0780290e2d3ec06e004d940876f1914be07631bd401c9e/optimize-images-1.5.1.tar.gz (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7), version: 1.5.1 2025-09-10T12:06:39,242 Skipping link: No binaries permitted for optimize-images: https://files.pythonhosted.org/packages/12/49/6d6246827ac55d9356ef53cd541f13a94928c44d0b4fff0bf32840389aba/optimize_images-1.5.1-py3-none-any.whl (from https://pypi.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,242 Fetching project page and analyzing links: https://www.piwheels.org/simple/optimize-images/ 2025-09-10T12:06:39,243 Getting page https://www.piwheels.org/simple/optimize-images/ 2025-09-10T12:06:39,244 Found index url https://www.piwheels.org/simple/ 2025-09-10T12:06:39,336 Fetched page https://www.piwheels.org/simple/optimize-images/ as text/html 2025-09-10T12:06:39,340 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.5.0-py3-none-any.whl#sha256=0071170810eb3905e3c269f6e21eaa711d2113f9233a487a733375a2c66bb876 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,340 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.4.0-py3-none-any.whl#sha256=7307518453acfd0151f9be09e7cd9e1f0cf76bbc6cf35e2cef35ce4e1182858f (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,340 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.4.0a3-py3-none-any.whl#sha256=bd5770965cd8e02cc81cfeae9961c020778d0aaa2bb92c0cba8df3e40a5a9c94 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.7) 2025-09-10T12:06:39,340 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.6-py3-none-any.whl#sha256=47dd8218f5ef603a0b9b680b7d5a585f95afa78a3415c81e9a6c389ff25ed025 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.5-py3-none-any.whl#sha256=4617df4537ce9878bd7cfda31a9746a6249da60d7ae223e30f69132a69d8467b (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.4-py3-none-any.whl#sha256=49f313d21562d944b554a4f8bea1e21418277235c23f953b415b96e97b500824 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.3-py3-none-any.whl#sha256=43404a9999e6bab8795327f9ffda920eb18d41b1a0bfb60b69fbd6ea8950c4cf (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.2-py3-none-any.whl#sha256=c163a352b9e43a91ce5276a8c41d129505602f73b23dfa9efd36ac8bd49aa431 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3.1-py3-none-any.whl#sha256=f1aa1ea1fb6d3c7f6ea32b81fbe2bb22f9c9293476956da274cc0d5ae3609313 (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.3-py3-none-any.whl#sha256=9eade0ffbb30fc347ffd2a1b7bb176b4d241321d330f893922a9f3360f734fca (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,341 Skipping link: No binaries permitted for optimize-images: https://archive1.piwheels.org/simple/optimize-images/optimize_images-1.2.0-py3-none-any.whl#sha256=95ba62e3df8dc1ccced5e8c7643fc494a15498194d3ec39e094b17a8f5558a6a (from https://www.piwheels.org/simple/optimize-images/) (requires-python:>=3.6) 2025-09-10T12:06:39,342 Skipping link: not a file: https://www.piwheels.org/simple/optimize-images/ 2025-09-10T12:06:39,342 Skipping link: not a file: https://pypi.org/simple/optimize-images/ 2025-09-10T12:06:39,369 Given no hashes to check 1 links for project 'optimize-images': discarding no candidates 2025-09-10T12:06:39,370 Collecting optimize-images==1.5.1 2025-09-10T12:06:39,371 Created temporary directory: /tmp/pip-unpack-bxgnuy2s 2025-09-10T12:06:39,509 Downloading optimize-images-1.5.1.tar.gz (24 kB) 2025-09-10T12:06:39,550 Added optimize-images==1.5.1 from https://files.pythonhosted.org/packages/d9/d4/a29188fbeaefcf0780290e2d3ec06e004d940876f1914be07631bd401c9e/optimize-images-1.5.1.tar.gz to build tracker '/tmp/pip-build-tracker-22f3qlip' 2025-09-10T12:06:39,551 Running setup.py (path:/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/setup.py) egg_info for package optimize-images 2025-09-10T12:06:39,551 Created temporary directory: /tmp/pip-pip-egg-info-mho5icd8 2025-09-10T12:06:39,551 Preparing metadata (setup.py): started 2025-09-10T12:06:39,552 Running command python setup.py egg_info 2025-09-10T12:06:40,196 Traceback (most recent call last): 2025-09-10T12:06:40,198 File "", line 2, in 2025-09-10T12:06:40,199 exec(compile(''' 2025-09-10T12:06:40,199 ~~~~^^^^^^^^^^^^ 2025-09-10T12:06:40,199 # This is -- a caller that pip uses to run setup.py 2025-09-10T12:06:40,199 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,199 ...<32 lines>... 2025-09-10T12:06:40,199 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T12:06:40,199 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,199 ''' % ('/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/setup.py',), "", "exec")) 2025-09-10T12:06:40,199 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,200 File "", line 35, in 2025-09-10T12:06:40,200 File "/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/setup.py", line 44, in 2025-09-10T12:06:40,200 version=__import__('optimize_images').__version__, 2025-09-10T12:06:40,200 ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,200 File "/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/optimize_images/__init__.py", line 2, in 2025-09-10T12:06:40,200 from optimize_images.api import optimize_as_batch 2025-09-10T12:06:40,200 File "/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/optimize_images/api.py", line 2, in 2025-09-10T12:06:40,200 from optimize_images.do_optimization import do_optimization 2025-09-10T12:06:40,201 File "/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/optimize_images/do_optimization.py", line 5, in 2025-09-10T12:06:40,201 import piexif 2025-09-10T12:06:40,201 ModuleNotFoundError: No module named 'piexif' 2025-09-10T12:06:40,291 ERROR: python setup.py egg_info exited with 1 2025-09-10T12:06:40,304 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-10T12:06:40,304 exec(compile('"'"''"'"''"'"' 2025-09-10T12:06:40,304 # This is -- a caller that pip uses to run setup.py 2025-09-10T12:06:40,304 # 2025-09-10T12:06:40,304 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-10T12:06:40,304 # import from `distutils.core` to work with newer packaging standards. 2025-09-10T12:06:40,304 # - It provides a clear error message when setuptools is not installed. 2025-09-10T12:06:40,304 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-10T12:06:40,304 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-10T12:06:40,304 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-10T12:06:40,304 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-10T12:06:40,304 import os, sys, tokenize, traceback 2025-09-10T12:06:40,304 2025-09-10T12:06:40,304 try: 2025-09-10T12:06:40,304 import setuptools 2025-09-10T12:06:40,304 except ImportError: 2025-09-10T12:06:40,304 print( 2025-09-10T12:06:40,304 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-10T12:06:40,304 "the build environment with exception:", 2025-09-10T12:06:40,304 file=sys.stderr, 2025-09-10T12:06:40,304 ) 2025-09-10T12:06:40,304 traceback.print_exc() 2025-09-10T12:06:40,304 sys.exit(1) 2025-09-10T12:06:40,304 2025-09-10T12:06:40,304 __file__ = %r 2025-09-10T12:06:40,304 sys.argv[0] = __file__ 2025-09-10T12:06:40,304 2025-09-10T12:06:40,304 if os.path.exists(__file__): 2025-09-10T12:06:40,304 filename = __file__ 2025-09-10T12:06:40,304 with tokenize.open(__file__) as f: 2025-09-10T12:06:40,304 setup_py_code = f.read() 2025-09-10T12:06:40,304 else: 2025-09-10T12:06:40,304 filename = "" 2025-09-10T12:06:40,304 setup_py_code = "from setuptools import setup; setup()" 2025-09-10T12:06:40,304 2025-09-10T12:06:40,304 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T12:06:40,304 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-mho5icd8[/] 2025-09-10T12:06:40,304 [bold magenta]cwd[/]: /tmp/pip-wheel-wtuezq7n/optimize-images_6c41d74d4df94761ba6c85363d391972/ 2025-09-10T12:06:40,304 Preparing metadata (setup.py): finished with status 'error' 2025-09-10T12:06:40,305 ERROR: metadata generation failed 2025-09-10T12:06:40,310 Exception information: 2025-09-10T12:06:40,310 Traceback (most recent call last): 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-10T12:06:40,310 call_subprocess( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 args, 2025-09-10T12:06:40,310 ^^^^^ 2025-09-10T12:06:40,310 ...<2 lines>... 2025-09-10T12:06:40,310 spinner=spinner, 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-10T12:06:40,310 raise error 2025-09-10T12:06:40,310 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-10T12:06:40,310 2025-09-10T12:06:40,310 The above exception was the direct cause of the following exception: 2025-09-10T12:06:40,310 2025-09-10T12:06:40,310 Traceback (most recent call last): 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-10T12:06:40,310 status = _inner_run() 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-10T12:06:40,310 return self.run(options, args) 2025-09-10T12:06:40,310 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-10T12:06:40,310 return func(self, options, args) 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-10T12:06:40,310 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-10T12:06:40,310 result = self._result = resolver.resolve( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-10T12:06:40,310 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-10T12:06:40,310 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-10T12:06:40,310 if not criterion.candidates: 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-10T12:06:40,310 return bool(self._sequence) 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-10T12:06:40,310 self._bool = any(self) 2025-09-10T12:06:40,310 ~~~^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-10T12:06:40,310 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-10T12:06:40,310 ^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-10T12:06:40,310 candidate = func() 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-10T12:06:40,310 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 link, template, name, version 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-10T12:06:40,310 self._link_candidate_cache[link] = LinkCandidate( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 link, 2025-09-10T12:06:40,310 ^^^^^ 2025-09-10T12:06:40,310 ...<3 lines>... 2025-09-10T12:06:40,310 version=version, 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-10T12:06:40,310 super().__init__( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 link=link, 2025-09-10T12:06:40,310 ^^^^^^^^^^ 2025-09-10T12:06:40,310 ...<4 lines>... 2025-09-10T12:06:40,310 version=version, 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-10T12:06:40,310 self.dist = self._prepare() 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-10T12:06:40,310 dist = self._prepare_distribution() 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-10T12:06:40,310 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-10T12:06:40,310 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-10T12:06:40,310 dist = _get_prepared_distribution( 2025-09-10T12:06:40,310 req, 2025-09-10T12:06:40,310 ...<3 lines>... 2025-09-10T12:06:40,310 self.check_build_deps, 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-10T12:06:40,310 abstract_dist.prepare_distribution_metadata( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 finder, build_isolation, check_build_deps 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-10T12:06:40,310 self.req.prepare_metadata() 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-10T12:06:40,310 self.metadata_directory = generate_metadata_legacy( 2025-09-10T12:06:40,310 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T12:06:40,310 build_env=self.build_env, 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ...<3 lines>... 2025-09-10T12:06:40,310 details=details, 2025-09-10T12:06:40,310 ^^^^^^^^^^^^^^^^ 2025-09-10T12:06:40,310 ) 2025-09-10T12:06:40,310 ^ 2025-09-10T12:06:40,310 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-10T12:06:40,310 raise MetadataGenerationFailed(package_details=details) from error 2025-09-10T12:06:40,310 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-10T12:06:40,331 Removed optimize-images==1.5.1 from https://files.pythonhosted.org/packages/d9/d4/a29188fbeaefcf0780290e2d3ec06e004d940876f1914be07631bd401c9e/optimize-images-1.5.1.tar.gz from build tracker '/tmp/pip-build-tracker-22f3qlip' 2025-09-10T12:06:40,331 Removed build tracker: '/tmp/pip-build-tracker-22f3qlip'