2025-09-08T05:28:16,792 Created temporary directory: /tmp/pip-build-tracker-gtt_6bsa 2025-09-08T05:28:16,792 Initialized build tracking at /tmp/pip-build-tracker-gtt_6bsa 2025-09-08T05:28:16,792 Created build tracker: /tmp/pip-build-tracker-gtt_6bsa 2025-09-08T05:28:16,792 Entered build tracker: /tmp/pip-build-tracker-gtt_6bsa 2025-09-08T05:28:16,793 Created temporary directory: /tmp/pip-wheel-ve4sn32k 2025-09-08T05:28:16,796 Created temporary directory: /tmp/pip-ephem-wheel-cache-8f13_tt2 2025-09-08T05:28:16,855 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T05:28:16,857 2 location(s) to search for versions of mayavi: 2025-09-08T05:28:16,857 * https://pypi.org/simple/mayavi/ 2025-09-08T05:28:16,857 * https://www.piwheels.org/simple/mayavi/ 2025-09-08T05:28:16,857 Fetching project page and analyzing links: https://pypi.org/simple/mayavi/ 2025-09-08T05:28:16,857 Getting page https://pypi.org/simple/mayavi/ 2025-09-08T05:28:16,859 Found index url https://pypi.org/simple/ 2025-09-08T05:28:17,016 Fetched page https://pypi.org/simple/mayavi/ as application/vnd.pypi.simple.v1+json 2025-09-08T05:28:17,022 Found link https://files.pythonhosted.org/packages/e3/dd/dfa3d8e8072f92f443e33bfa5950a13305d95ef1b381c1270893f88d898b/mayavi-4.3.1.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.3.1 2025-09-08T05:28:17,023 Found link https://files.pythonhosted.org/packages/12/0d/b9129b07139fa872707bc8049d9dec992414e9d3153ebc0c2a3715caf1fa/mayavi-4.4.1.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.4.1 2025-09-08T05:28:17,023 Found link https://files.pythonhosted.org/packages/f0/82/3e5c775b87ab28e51deccdba2a1e48e09c7a840f4d3137bf9eeaa1e04859/mayavi-4.4.2.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.4.2 2025-09-08T05:28:17,024 Found link https://files.pythonhosted.org/packages/c9/fb/f34497dedce1601aead01675f0ae3725232a4c0b8fd75330938503c8ba19/mayavi-4.4.3.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.4.3 2025-09-08T05:28:17,024 Found link https://files.pythonhosted.org/packages/ae/01/aa1fb00cd4f76acfed41691c7ccd82dcb9a75f27c651be763feff8c26e05/mayavi-4.4.3.zip (from https://pypi.org/simple/mayavi/), version: 4.4.3 2025-09-08T05:28:17,024 Found link https://files.pythonhosted.org/packages/76/e2/0a2cab8d3434cfc73b945170dd5ef2cb3616418f6cf6178a4037cd2adb45/mayavi-4.4.4.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.4.4 2025-09-08T05:28:17,025 Found link https://files.pythonhosted.org/packages/03/02/2e87f3cc288b8fc9105440ad06103591bec7b5be0eb53f24274d044ba19a/mayavi-4.4.4.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.4.4 2025-09-08T05:28:17,025 Found link https://files.pythonhosted.org/packages/19/f6/fde2f9bde7036c25b96d66d5ccf28c3ac14e5ecea92d0e5a6a0b2613f09f/mayavi-4.5.0.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.5.0 2025-09-08T05:28:17,026 Found link https://files.pythonhosted.org/packages/6c/c7/3f49fe4caee7534838cbf03d8494f1f5de0d993606b02c5f90e37d69229c/mayavi-4.5.0.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.5.0 2025-09-08T05:28:17,026 Found link https://files.pythonhosted.org/packages/8a/7d/3c3a7b60b5d87e69d194cc71de716178a7af165342f85083620c68d88260/mayavi-4.5.0.zip (from https://pypi.org/simple/mayavi/), version: 4.5.0 2025-09-08T05:28:17,027 Found link https://files.pythonhosted.org/packages/ff/05/1d38b1fd6ce1779e063b1f3a993552fb975e4e738ae197065f08b8c5f9fd/mayavi-4.6.0.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.6.0 2025-09-08T05:28:17,027 Found link https://files.pythonhosted.org/packages/36/8f/ab9555a37ab7c30560928c2eb0a9715f4492a11536f057aada019a319661/mayavi-4.6.1.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.6.1 2025-09-08T05:28:17,028 Found link https://files.pythonhosted.org/packages/83/9e/293ba57353ed258c2f64d54bf00ca1447c1f38f4eb60d0e762ddec57bf51/mayavi-4.6.2.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.6.2 2025-09-08T05:28:17,028 Found link https://files.pythonhosted.org/packages/bb/f7/395f897f2356037ea001157f5def7586d0d461815a2778508e3561064850/mayavi-4.7.0.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.7.0 2025-09-08T05:28:17,029 Found link https://files.pythonhosted.org/packages/08/ea/eb808cb4df8f92bc4d9f9a1ef14566b9b5d60370e6ecbaf9061cdae335fa/mayavi-4.7.1.tar.bz2 (from https://pypi.org/simple/mayavi/), version: 4.7.1 2025-09-08T05:28:17,029 Found link https://files.pythonhosted.org/packages/63/5f/350dbde409fa5925ed8696c05e916196e10c3650a9bb54a50126e3a2d9d5/mayavi-4.7.2.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.7.2 2025-09-08T05:28:17,030 Found link https://files.pythonhosted.org/packages/e9/0c/4443d5690cebaa5f20ce9d092627932c1ef38c20c925b26d153615f56b6f/mayavi-4.7.3.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.7.3 2025-09-08T05:28:17,030 Found link https://files.pythonhosted.org/packages/c3/72/e8b3abcb0cb87fcb3c096a7988125392cd7d0532de82b25f2a838dafb63c/mayavi-4.7.4.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.7.4 2025-09-08T05:28:17,030 Found link https://files.pythonhosted.org/packages/8a/54/90dd60c62e685ee56bdfaa6a7af62b0c762568a962e3137fc954b4f845bc/mayavi-4.8.0.tar.gz (from https://pypi.org/simple/mayavi/), version: 4.8.0 2025-09-08T05:28:17,032 Found link https://files.pythonhosted.org/packages/bc/1e/cd53cd7ec13768e571252f7ae6ec9c1e12ec04454691e666728234022ed5/mayavi-4.8.1.tar.gz (from https://pypi.org/simple/mayavi/) (requires-python:>=3.7), version: 4.8.1 2025-09-08T05:28:17,033 Found link https://files.pythonhosted.org/packages/ee/49/f6038f0539e11e52d389f161e5ad78212d5680d9a9725b18d108562db124/mayavi-4.8.2.tar.gz (from https://pypi.org/simple/mayavi/) (requires-python:>=3.8), version: 4.8.2 2025-09-08T05:28:17,034 Found link https://files.pythonhosted.org/packages/69/db/73b4270d5f0c5330f778696325be9e8b745655578b7cba96d787be19d32f/mayavi-4.8.3.tar.gz (from https://pypi.org/simple/mayavi/) (requires-python:>=3.9), version: 4.8.3 2025-09-08T05:28:17,035 Fetching project page and analyzing links: https://www.piwheels.org/simple/mayavi/ 2025-09-08T05:28:17,035 Getting page https://www.piwheels.org/simple/mayavi/ 2025-09-08T05:28:17,037 Found index url https://www.piwheels.org/simple/ 2025-09-08T05:28:17,136 Fetched page https://www.piwheels.org/simple/mayavi/ as text/html 2025-09-08T05:28:17,136 Skipping link: not a file: https://www.piwheels.org/simple/mayavi/ 2025-09-08T05:28:17,137 Skipping link: not a file: https://pypi.org/simple/mayavi/ 2025-09-08T05:28:17,160 Given no hashes to check 3 links for project 'mayavi': discarding no candidates 2025-09-08T05:28:17,162 Collecting mayavi==4.5.0 2025-09-08T05:28:17,163 Created temporary directory: /tmp/pip-unpack-jk43vyxt 2025-09-08T05:28:17,310 Downloading mayavi-4.5.0.zip (7.5 MB) 2025-09-08T05:28:18,547 Added mayavi==4.5.0 from https://files.pythonhosted.org/packages/8a/7d/3c3a7b60b5d87e69d194cc71de716178a7af165342f85083620c68d88260/mayavi-4.5.0.zip to build tracker '/tmp/pip-build-tracker-gtt_6bsa' 2025-09-08T05:28:18,548 Running setup.py (path:/tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py) egg_info for package mayavi 2025-09-08T05:28:18,548 Created temporary directory: /tmp/pip-pip-egg-info-1zt9moz0 2025-09-08T05:28:18,548 Preparing metadata (setup.py): started 2025-09-08T05:28:18,549 Running command python setup.py egg_info 2025-09-08T05:28:19,052 /tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py:167: SyntaxWarning: invalid escape sequence '\.' 2025-09-08T05:28:19,052 sources = '(\.py)|(\.rst)$' 2025-09-08T05:28:19,052 /tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py:168: SyntaxWarning: invalid escape sequence '\.' 2025-09-08T05:28:19,052 excluded_dirs = '^\.' 2025-09-08T05:28:19,052 /tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py:193: SyntaxWarning: invalid escape sequence '\.' 2025-09-08T05:28:19,052 sources = '(\.py)|(\.rst)$' 2025-09-08T05:28:19,053 /tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py:194: SyntaxWarning: invalid escape sequence '\.' 2025-09-08T05:28:19,053 excluded_dirs = '^\.' 2025-09-08T05:28:19,275 Traceback (most recent call last): 2025-09-08T05:28:19,276 File "", line 2, in 2025-09-08T05:28:19,277 exec(compile(''' 2025-09-08T05:28:19,277 ~~~~^^^^^^^^^^^^ 2025-09-08T05:28:19,277 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:28:19,277 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,277 ...<32 lines>... 2025-09-08T05:28:19,277 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:28:19,277 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,277 ''' % ('/tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py',), "", "exec")) 2025-09-08T05:28:19,277 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,278 File "", line 35, in 2025-09-08T05:28:19,278 File "/tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py", line 78, in 2025-09-08T05:28:19,278 from numpy.distutils.command import build, install_data 2025-09-08T05:28:19,278 ModuleNotFoundError: No module named 'numpy.distutils' 2025-09-08T05:28:19,384 ERROR: python setup.py egg_info exited with 1 2025-09-08T05:28:19,396 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T05:28:19,396 exec(compile('"'"''"'"''"'"' 2025-09-08T05:28:19,396 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:28:19,396 # 2025-09-08T05:28:19,396 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T05:28:19,396 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T05:28:19,396 # - It provides a clear error message when setuptools is not installed. 2025-09-08T05:28:19,396 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T05:28:19,396 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T05:28:19,396 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T05:28:19,396 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T05:28:19,396 import os, sys, tokenize, traceback 2025-09-08T05:28:19,396 2025-09-08T05:28:19,396 try: 2025-09-08T05:28:19,396 import setuptools 2025-09-08T05:28:19,396 except ImportError: 2025-09-08T05:28:19,396 print( 2025-09-08T05:28:19,396 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T05:28:19,396 "the build environment with exception:", 2025-09-08T05:28:19,396 file=sys.stderr, 2025-09-08T05:28:19,396 ) 2025-09-08T05:28:19,396 traceback.print_exc() 2025-09-08T05:28:19,396 sys.exit(1) 2025-09-08T05:28:19,396 2025-09-08T05:28:19,396 __file__ = %r 2025-09-08T05:28:19,396 sys.argv[0] = __file__ 2025-09-08T05:28:19,396 2025-09-08T05:28:19,396 if os.path.exists(__file__): 2025-09-08T05:28:19,396 filename = __file__ 2025-09-08T05:28:19,396 with tokenize.open(__file__) as f: 2025-09-08T05:28:19,396 setup_py_code = f.read() 2025-09-08T05:28:19,396 else: 2025-09-08T05:28:19,396 filename = "" 2025-09-08T05:28:19,396 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T05:28:19,396 2025-09-08T05:28:19,396 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:28:19,396 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-1zt9moz0[/] 2025-09-08T05:28:19,397 [bold magenta]cwd[/]: /tmp/pip-wheel-ve4sn32k/mayavi_2466ab97a86f42b5a420782364552f92/ 2025-09-08T05:28:19,397 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T05:28:19,398 ERROR: metadata generation failed 2025-09-08T05:28:19,403 Exception information: 2025-09-08T05:28:19,403 Traceback (most recent call last): 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T05:28:19,403 call_subprocess( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 args, 2025-09-08T05:28:19,403 ^^^^^ 2025-09-08T05:28:19,403 ...<2 lines>... 2025-09-08T05:28:19,403 spinner=spinner, 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T05:28:19,403 raise error 2025-09-08T05:28:19,403 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T05:28:19,403 2025-09-08T05:28:19,403 The above exception was the direct cause of the following exception: 2025-09-08T05:28:19,403 2025-09-08T05:28:19,403 Traceback (most recent call last): 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T05:28:19,403 status = _inner_run() 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T05:28:19,403 return self.run(options, args) 2025-09-08T05:28:19,403 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T05:28:19,403 return func(self, options, args) 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T05:28:19,403 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T05:28:19,403 result = self._result = resolver.resolve( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T05:28:19,403 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T05:28:19,403 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T05:28:19,403 if not criterion.candidates: 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T05:28:19,403 return bool(self._sequence) 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T05:28:19,403 self._bool = any(self) 2025-09-08T05:28:19,403 ~~~^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T05:28:19,403 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T05:28:19,403 ^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T05:28:19,403 candidate = func() 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T05:28:19,403 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 link, template, name, version 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T05:28:19,403 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 link, 2025-09-08T05:28:19,403 ^^^^^ 2025-09-08T05:28:19,403 ...<3 lines>... 2025-09-08T05:28:19,403 version=version, 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T05:28:19,403 super().__init__( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 link=link, 2025-09-08T05:28:19,403 ^^^^^^^^^^ 2025-09-08T05:28:19,403 ...<4 lines>... 2025-09-08T05:28:19,403 version=version, 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T05:28:19,403 self.dist = self._prepare() 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T05:28:19,403 dist = self._prepare_distribution() 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T05:28:19,403 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T05:28:19,403 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T05:28:19,403 dist = _get_prepared_distribution( 2025-09-08T05:28:19,403 req, 2025-09-08T05:28:19,403 ...<3 lines>... 2025-09-08T05:28:19,403 self.check_build_deps, 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T05:28:19,403 abstract_dist.prepare_distribution_metadata( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 finder, build_isolation, check_build_deps 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T05:28:19,403 self.req.prepare_metadata() 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T05:28:19,403 self.metadata_directory = generate_metadata_legacy( 2025-09-08T05:28:19,403 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:28:19,403 build_env=self.build_env, 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ...<3 lines>... 2025-09-08T05:28:19,403 details=details, 2025-09-08T05:28:19,403 ^^^^^^^^^^^^^^^^ 2025-09-08T05:28:19,403 ) 2025-09-08T05:28:19,403 ^ 2025-09-08T05:28:19,403 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T05:28:19,403 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T05:28:19,403 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T05:28:19,423 Removed mayavi==4.5.0 from https://files.pythonhosted.org/packages/8a/7d/3c3a7b60b5d87e69d194cc71de716178a7af165342f85083620c68d88260/mayavi-4.5.0.zip from build tracker '/tmp/pip-build-tracker-gtt_6bsa' 2025-09-08T05:28:19,423 Removed build tracker: '/tmp/pip-build-tracker-gtt_6bsa'