2025-09-04T16:00:14,307 Created temporary directory: /tmp/pip-build-tracker-iyz3o2a2 2025-09-04T16:00:14,308 Initialized build tracking at /tmp/pip-build-tracker-iyz3o2a2 2025-09-04T16:00:14,308 Created build tracker: /tmp/pip-build-tracker-iyz3o2a2 2025-09-04T16:00:14,308 Entered build tracker: /tmp/pip-build-tracker-iyz3o2a2 2025-09-04T16:00:14,308 Created temporary directory: /tmp/pip-wheel-17187obf 2025-09-04T16:00:14,312 Created temporary directory: /tmp/pip-ephem-wheel-cache-4_ikaru4 2025-09-04T16:00:14,371 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-04T16:00:14,373 2 location(s) to search for versions of pyexecjs: 2025-09-04T16:00:14,373 * https://pypi.org/simple/pyexecjs/ 2025-09-04T16:00:14,373 * https://www.piwheels.org/simple/pyexecjs/ 2025-09-04T16:00:14,373 Fetching project page and analyzing links: https://pypi.org/simple/pyexecjs/ 2025-09-04T16:00:14,374 Getting page https://pypi.org/simple/pyexecjs/ 2025-09-04T16:00:14,375 Found index url https://pypi.org/simple/ 2025-09-04T16:00:14,522 Fetched page https://pypi.org/simple/pyexecjs/ as application/vnd.pypi.simple.v1+json 2025-09-04T16:00:14,529 Found link https://files.pythonhosted.org/packages/82/1b/968b5e3878fa00a80550d1a17474c94e22ea02ea4d7afbf8ad11746f30aa/PyExecJS-1.0.0.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.0 2025-09-04T16:00:14,529 Found link https://files.pythonhosted.org/packages/c3/cc/00644cc280aa3933e00fdaadf2e5875f2030cf6418b3bac808ea2b26682f/PyExecJS-1.0.1.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.1 2025-09-04T16:00:14,530 Found link https://files.pythonhosted.org/packages/a1/d0/2a90630b66d780c07190afade786dd9fae7369c111d909bbbddba2fae196/PyExecJS-1.0.2.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.2 2025-09-04T16:00:14,530 Found link https://files.pythonhosted.org/packages/24/ec/f27c21c598e85e63a3cf5039dcd485a85c6ce80a41d85fb37b8afafc0890/PyExecJS-1.0.3.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.0.3 2025-09-04T16:00:14,531 Found link https://files.pythonhosted.org/packages/74/a7/aff0f38dfcb5ddb3cd676a8ed0ccf46f6425edc953700a780ca971c4a037/PyExecJS-1.0.3.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.3 2025-09-04T16:00:14,531 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/66/a2/c8fcbec7bfa28a75d509244c902621e2140d67fa3c056db559db8d074ce0/PyExecJS-1.0.4-py2.6.egg (from https://pypi.org/simple/pyexecjs/) 2025-09-04T16:00:14,532 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/bd/30/3d029b809fc6f940e58990a545e27dd49339ce7a3be7d6c3aa480c95b996/PyExecJS-1.0.4-py2.7.egg (from https://pypi.org/simple/pyexecjs/) 2025-09-04T16:00:14,532 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/09/fe/cec59038a55e04fccf85ebbbb42826692ace033d715c7a2f0703eb2f1599/PyExecJS-1.0.4-py3.2.egg (from https://pypi.org/simple/pyexecjs/) 2025-09-04T16:00:14,532 Found link https://files.pythonhosted.org/packages/ef/14/cf5da7242fcc87439317b6acf801f97a1e4f6a5a0ae737644be0c9837cb0/PyExecJS-1.0.4.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.0.4 2025-09-04T16:00:14,533 Found link https://files.pythonhosted.org/packages/6b/29/b04a8f6505036c00d7663e4471463cf84eaf05e118de50c58578d87e4267/PyExecJS-1.0.4.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.4 2025-09-04T16:00:14,533 Found link https://files.pythonhosted.org/packages/a5/d3/6068858d2c34cea1ad4dd24184758c9904c7dc1293146bb6bf9f09812da0/PyExecJS-1.0.5.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.0.5 2025-09-04T16:00:14,534 Found link https://files.pythonhosted.org/packages/12/ff/af8bf21e2d6ae48280ca1e28e781cd2c138b188e63058b00289734622a45/PyExecJS-1.0.5.zip (from https://pypi.org/simple/pyexecjs/), version: 1.0.5 2025-09-04T16:00:14,534 Found link https://files.pythonhosted.org/packages/0d/6b/5183948f2a12b7df0d597273f941a26baa35520505ec8d670f4c9b568749/PyExecJS-1.1.0.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.1.0 2025-09-04T16:00:14,535 Found link https://files.pythonhosted.org/packages/e7/42/875e018d76b484acac221adb241183982ca9c60250bc52917397673b9882/PyExecJS-1.1.0.zip (from https://pypi.org/simple/pyexecjs/), version: 1.1.0 2025-09-04T16:00:14,535 Found link https://files.pythonhosted.org/packages/b0/13/038b178ef184c4a1a2e2cb23737f5052634ec40248de0e7b00929efb79ee/PyExecJS-1.2.0.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.2.0 2025-09-04T16:00:14,536 Found link https://files.pythonhosted.org/packages/58/ad/a22ea9485a46ad7dfd06eb97608cb5450541cd8044495c86d937b46e2cf1/PyExecJS-1.2.0.zip (from https://pypi.org/simple/pyexecjs/), version: 1.2.0 2025-09-04T16:00:14,536 Found link https://files.pythonhosted.org/packages/29/4b/55805b6a531469c5b5fa07174165f7ced03e58edbf0b9f57179a46cdbc59/PyExecJS-1.3.0.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.3.0 2025-09-04T16:00:14,536 Found link https://files.pythonhosted.org/packages/58/66/967dd480bd68579356f592ddb258f5fb76a495331e90f330cee619536176/PyExecJS-1.3.0.zip (from https://pypi.org/simple/pyexecjs/), version: 1.3.0 2025-09-04T16:00:14,537 Found link https://files.pythonhosted.org/packages/23/71/85470f6def560e6897efe5e563a840caee22c6e5803183e8605d9212a036/PyExecJS-1.3.1.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.3.1 2025-09-04T16:00:14,537 Found link https://files.pythonhosted.org/packages/85/5e/94dc03c0fa3667a36d20ec6fa97910049640fe6443e45369ef2e1ad4fa24/PyExecJS-1.3.1.zip (from https://pypi.org/simple/pyexecjs/), version: 1.3.1 2025-09-04T16:00:14,538 Found link https://files.pythonhosted.org/packages/b6/56/affb227598d7e42b28e7be24fe9240a84f3aa0cfd65a2abdbfdfd3d2f7c6/PyExecJS-1.4.0.zip (from https://pypi.org/simple/pyexecjs/), version: 1.4.0 2025-09-04T16:00:14,538 Found link https://files.pythonhosted.org/packages/dc/0b/a4f353c1bdc7069d28916801e0fdbd90be2cf075e3533048c6f8873cd467/PyExecJS-1.4.1.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.4.1 2025-09-04T16:00:14,539 Found link https://files.pythonhosted.org/packages/1c/a0/359e179605bbf3f6c6ed96c44e056eebed39732b67427f30d56e259934f2/PyExecJS-1.5.0.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.5.0 2025-09-04T16:00:14,539 Found link https://files.pythonhosted.org/packages/ba/8e/aedef81641c8dca6fd0fb7294de5bed9c45f3397d67fddf755c1042c2642/PyExecJS-1.5.1.tar.gz (from https://pypi.org/simple/pyexecjs/), version: 1.5.1 2025-09-04T16:00:14,540 Fetching project page and analyzing links: https://www.piwheels.org/simple/pyexecjs/ 2025-09-04T16:00:14,540 Getting page https://www.piwheels.org/simple/pyexecjs/ 2025-09-04T16:00:14,541 Found index url https://www.piwheels.org/simple/ 2025-09-04T16:00:14,629 Fetched page https://www.piwheels.org/simple/pyexecjs/ as text/html 2025-09-04T16:00:14,632 Skipping link: No binaries permitted for pyexecjs: https://www.piwheels.org/simple/pyexecjs/PyExecJS-1.5.1-py3-none-any.whl#sha256=b1e7154286cdfe7e4a8c118198cbced968d11dc7d8e675b7fbfce63bf595735e (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.5.0-py3-none-any.whl#sha256=d77b57f3545da25032836cfb8dddd5f138b242dba136cd0f5b99b2c046e6d41c (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.4.1-py3-none-any.whl#sha256=bfc74c67fe646964d7b157f86df4beed802470827d94ac0f7bb0522b9452de47 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.4.0-py3-none-any.whl#sha256=46de76f17b7a6c99e9639ac6f6c587291413ebf04164af2774baec62071e086f (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.3.1-py3-none-any.whl#sha256=77ce1b265253dc79f07c473e1a4ba47065eca6b0f6d9483de0a8331dd42c5705 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.3.0-py3-none-any.whl#sha256=49e32f3709f5d8fb1c8e1f8b25501af9afa8fbca7b1f6259761b523e722bdbb1 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,633 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.2.0-py3-none-any.whl#sha256=e0bbf72b02c733cc2843b106f3f594981a91d8ec7a10978f17518887357d9175 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.1.0-py3-none-any.whl#sha256=542042e828c76185cfc1c5e8380582bb4c34d009b5252798e5947f29f3e5a768 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.0.5-py3-none-any.whl#sha256=c4eaaf35daca8ecf367e99515c4e5a565287edce183067d8f3dd3c81eb684d4e (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.0.4-py3-none-any.whl#sha256=3f1e62ee461e047f1b30ed4017a231a642a08dbfc47dd7cf5f520ef9e9bbc3b9 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.0.3-py3-none-any.whl#sha256=c17fb75c3921b196e849e91dd18862732b9f997cb71ca1a82c8668345f8e2e0c (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.0.2-py3-none-any.whl#sha256=f92b0dcb7c305bd5965afc0949dc582a2d56ecde65e8e8cf20a2864b38971573 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: No binaries permitted for pyexecjs: https://archive1.piwheels.org/simple/pyexecjs/PyExecJS-1.0.1-py3-none-any.whl#sha256=54262ebe984fff2e1f96215e752187303419cd8e816fb7ec9722d41529e514d5 (from https://www.piwheels.org/simple/pyexecjs/) 2025-09-04T16:00:14,634 Skipping link: not a file: https://www.piwheels.org/simple/pyexecjs/ 2025-09-04T16:00:14,635 Skipping link: not a file: https://pypi.org/simple/pyexecjs/ 2025-09-04T16:00:14,661 Given no hashes to check 1 links for project 'pyexecjs': discarding no candidates 2025-09-04T16:00:14,662 Collecting pyexecjs==1.0.0 2025-09-04T16:00:14,663 Created temporary directory: /tmp/pip-unpack-m80wbjjr 2025-09-04T16:00:14,799 Downloading PyExecJS-1.0.0.zip (15 kB) 2025-09-04T16:00:14,816 Added pyexecjs==1.0.0 from https://files.pythonhosted.org/packages/82/1b/968b5e3878fa00a80550d1a17474c94e22ea02ea4d7afbf8ad11746f30aa/PyExecJS-1.0.0.zip to build tracker '/tmp/pip-build-tracker-iyz3o2a2' 2025-09-04T16:00:14,817 Running setup.py (path:/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/setup.py) egg_info for package pyexecjs 2025-09-04T16:00:14,818 Created temporary directory: /tmp/pip-pip-egg-info-2yuljxn_ 2025-09-04T16:00:14,818 Preparing metadata (setup.py): started 2025-09-04T16:00:14,819 Running command python setup.py egg_info 2025-09-04T16:00:15,371 Traceback (most recent call last): 2025-09-04T16:00:15,375 File "", line 2, in 2025-09-04T16:00:15,376 exec(compile(''' 2025-09-04T16:00:15,376 ~~~~^^^^^^^^^^^^ 2025-09-04T16:00:15,376 # This is -- a caller that pip uses to run setup.py 2025-09-04T16:00:15,376 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,376 ...<32 lines>... 2025-09-04T16:00:15,376 exec(compile(setup_py_code, filename, "exec")) 2025-09-04T16:00:15,376 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,376 ''' % ('/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/setup.py',), "", "exec")) 2025-09-04T16:00:15,377 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,377 File "", line 35, in 2025-09-04T16:00:15,377 File "/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/setup.py", line 6, in 2025-09-04T16:00:15,377 import execjs 2025-09-04T16:00:15,377 File "/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/execjs/__init__.py", line 365, in 2025-09-04T16:00:15,377 if runtime.is_available(): 2025-09-04T16:00:15,377 ~~~~~~~~~~~~~~~~~~~~^^ 2025-09-04T16:00:15,378 File "/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/execjs/__init__.py", line 135, in is_available 2025-09-04T16:00:15,378 return self._binary() is not None 2025-09-04T16:00:15,378 ~~~~~~~~~~~~^^ 2025-09-04T16:00:15,378 File "/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/execjs/__init__.py", line 140, in _binary 2025-09-04T16:00:15,378 self._binary_cache = self._which(self._command) 2025-09-04T16:00:15,378 ~~~~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,378 File "/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/execjs/__init__.py", line 174, in _which 2025-09-04T16:00:15,379 p = Popen(which_command, stdout=PIPE, stderr=PIPE) 2025-09-04T16:00:15,379 File "/usr/lib/python3.13/subprocess.py", line 1039, in __init__ 2025-09-04T16:00:15,379 self._execute_child(args, executable, preexec_fn, close_fds, 2025-09-04T16:00:15,379 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,379 pass_fds, cwd, env, 2025-09-04T16:00:15,379 ^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,379 ...<5 lines>... 2025-09-04T16:00:15,379 gid, gids, uid, umask, 2025-09-04T16:00:15,379 ^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,380 start_new_session, process_group) 2025-09-04T16:00:15,380 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,380 File "/usr/lib/python3.13/subprocess.py", line 1972, in _execute_child 2025-09-04T16:00:15,380 raise child_exception_type(errno_num, err_msg, err_filename) 2025-09-04T16:00:15,380 FileNotFoundError: [Errno 2] No such file or directory: 'command' 2025-09-04T16:00:15,463 ERROR: python setup.py egg_info exited with 1 2025-09-04T16:00:15,476 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-04T16:00:15,476 exec(compile('"'"''"'"''"'"' 2025-09-04T16:00:15,476 # This is -- a caller that pip uses to run setup.py 2025-09-04T16:00:15,476 # 2025-09-04T16:00:15,476 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-04T16:00:15,476 # import from `distutils.core` to work with newer packaging standards. 2025-09-04T16:00:15,476 # - It provides a clear error message when setuptools is not installed. 2025-09-04T16:00:15,476 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-04T16:00:15,476 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-04T16:00:15,476 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-04T16:00:15,476 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-04T16:00:15,476 import os, sys, tokenize, traceback 2025-09-04T16:00:15,476 2025-09-04T16:00:15,476 try: 2025-09-04T16:00:15,476 import setuptools 2025-09-04T16:00:15,476 except ImportError: 2025-09-04T16:00:15,476 print( 2025-09-04T16:00:15,476 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-04T16:00:15,476 "the build environment with exception:", 2025-09-04T16:00:15,476 file=sys.stderr, 2025-09-04T16:00:15,476 ) 2025-09-04T16:00:15,476 traceback.print_exc() 2025-09-04T16:00:15,476 sys.exit(1) 2025-09-04T16:00:15,476 2025-09-04T16:00:15,476 __file__ = %r 2025-09-04T16:00:15,476 sys.argv[0] = __file__ 2025-09-04T16:00:15,476 2025-09-04T16:00:15,476 if os.path.exists(__file__): 2025-09-04T16:00:15,476 filename = __file__ 2025-09-04T16:00:15,476 with tokenize.open(__file__) as f: 2025-09-04T16:00:15,476 setup_py_code = f.read() 2025-09-04T16:00:15,476 else: 2025-09-04T16:00:15,476 filename = "" 2025-09-04T16:00:15,476 setup_py_code = "from setuptools import setup; setup()" 2025-09-04T16:00:15,476 2025-09-04T16:00:15,476 exec(compile(setup_py_code, filename, "exec")) 2025-09-04T16:00:15,476 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-2yuljxn_[/] 2025-09-04T16:00:15,476 [bold magenta]cwd[/]: /tmp/pip-wheel-17187obf/pyexecjs_4b6f2b2897b64ec6a8dcb1509def04b7/ 2025-09-04T16:00:15,477 Preparing metadata (setup.py): finished with status 'error' 2025-09-04T16:00:15,478 ERROR: metadata generation failed 2025-09-04T16:00:15,483 Exception information: 2025-09-04T16:00:15,483 Traceback (most recent call last): 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-04T16:00:15,483 call_subprocess( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 args, 2025-09-04T16:00:15,483 ^^^^^ 2025-09-04T16:00:15,483 ...<2 lines>... 2025-09-04T16:00:15,483 spinner=spinner, 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-04T16:00:15,483 raise error 2025-09-04T16:00:15,483 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-04T16:00:15,483 2025-09-04T16:00:15,483 The above exception was the direct cause of the following exception: 2025-09-04T16:00:15,483 2025-09-04T16:00:15,483 Traceback (most recent call last): 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-04T16:00:15,483 status = _inner_run() 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-04T16:00:15,483 return self.run(options, args) 2025-09-04T16:00:15,483 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-04T16:00:15,483 return func(self, options, args) 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-04T16:00:15,483 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-04T16:00:15,483 result = self._result = resolver.resolve( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-04T16:00:15,483 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-04T16:00:15,483 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-04T16:00:15,483 if not criterion.candidates: 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-04T16:00:15,483 return bool(self._sequence) 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-04T16:00:15,483 self._bool = any(self) 2025-09-04T16:00:15,483 ~~~^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-04T16:00:15,483 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-04T16:00:15,483 ^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-04T16:00:15,483 candidate = func() 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-04T16:00:15,483 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 link, template, name, version 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-04T16:00:15,483 self._link_candidate_cache[link] = LinkCandidate( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 link, 2025-09-04T16:00:15,483 ^^^^^ 2025-09-04T16:00:15,483 ...<3 lines>... 2025-09-04T16:00:15,483 version=version, 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-04T16:00:15,483 super().__init__( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 link=link, 2025-09-04T16:00:15,483 ^^^^^^^^^^ 2025-09-04T16:00:15,483 ...<4 lines>... 2025-09-04T16:00:15,483 version=version, 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-04T16:00:15,483 self.dist = self._prepare() 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-04T16:00:15,483 dist = self._prepare_distribution() 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-04T16:00:15,483 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-04T16:00:15,483 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-04T16:00:15,483 dist = _get_prepared_distribution( 2025-09-04T16:00:15,483 req, 2025-09-04T16:00:15,483 ...<3 lines>... 2025-09-04T16:00:15,483 self.check_build_deps, 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-04T16:00:15,483 abstract_dist.prepare_distribution_metadata( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 finder, build_isolation, check_build_deps 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-04T16:00:15,483 self.req.prepare_metadata() 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-04T16:00:15,483 self.metadata_directory = generate_metadata_legacy( 2025-09-04T16:00:15,483 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-04T16:00:15,483 build_env=self.build_env, 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ...<3 lines>... 2025-09-04T16:00:15,483 details=details, 2025-09-04T16:00:15,483 ^^^^^^^^^^^^^^^^ 2025-09-04T16:00:15,483 ) 2025-09-04T16:00:15,483 ^ 2025-09-04T16:00:15,483 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-04T16:00:15,483 raise MetadataGenerationFailed(package_details=details) from error 2025-09-04T16:00:15,483 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-04T16:00:15,504 Removed pyexecjs==1.0.0 from https://files.pythonhosted.org/packages/82/1b/968b5e3878fa00a80550d1a17474c94e22ea02ea4d7afbf8ad11746f30aa/PyExecJS-1.0.0.zip from build tracker '/tmp/pip-build-tracker-iyz3o2a2' 2025-09-04T16:00:15,504 Removed build tracker: '/tmp/pip-build-tracker-iyz3o2a2'