2025-09-10T10:40:06,998 Created temporary directory: /tmp/pip-build-tracker-tyr5kkvp 2025-09-10T10:40:06,998 Initialized build tracking at /tmp/pip-build-tracker-tyr5kkvp 2025-09-10T10:40:06,999 Created build tracker: /tmp/pip-build-tracker-tyr5kkvp 2025-09-10T10:40:06,999 Entered build tracker: /tmp/pip-build-tracker-tyr5kkvp 2025-09-10T10:40:06,999 Created temporary directory: /tmp/pip-wheel-xu9dz_7w 2025-09-10T10:40:07,002 Created temporary directory: /tmp/pip-ephem-wheel-cache-9rygpil0 2025-09-10T10:40:07,062 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-10T10:40:07,064 2 location(s) to search for versions of mvlearn: 2025-09-10T10:40:07,064 * https://pypi.org/simple/mvlearn/ 2025-09-10T10:40:07,064 * https://www.piwheels.org/simple/mvlearn/ 2025-09-10T10:40:07,064 Fetching project page and analyzing links: https://pypi.org/simple/mvlearn/ 2025-09-10T10:40:07,065 Getting page https://pypi.org/simple/mvlearn/ 2025-09-10T10:40:07,066 Found index url https://pypi.org/simple/ 2025-09-10T10:40:07,215 Fetched page https://pypi.org/simple/mvlearn/ as application/vnd.pypi.simple.v1+json 2025-09-10T10:40:07,220 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/c5/7d/bde9bc833e63ba4309d70e8618a0796f59733363f0710879cdf312836c32/mvlearn-0.0.1-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,220 Found link https://files.pythonhosted.org/packages/02/65/d3ce052ded811b062f30bb1b59934b2ac52377bb900d8bf5bf95056366d8/mvlearn-0.0.1.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.0.1 2025-09-10T10:40:07,221 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/5a/35/0dbfc17efee2a95a8aaf89cbb6589e96d8989b7e5491de7976f374f622c7/mvlearn-0.0.2-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,221 Found link https://files.pythonhosted.org/packages/11/e6/fb70134c72021abb66f6d8c35bb666f820a8605104f3b7ef0ef91ee96c05/mvlearn-0.0.2.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.0.2 2025-09-10T10:40:07,222 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/d5/20/3a958b005e853addb7057a048640b8b9a07a361ad6658736c716da3e2e0d/mvlearn-0.1.0-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,222 Found link https://files.pythonhosted.org/packages/ed/ed/bb134f700af7991a6623ec565e5f672bf3c8393987c8f775b978cfb5c210/mvlearn-0.1.0.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.1.0 2025-09-10T10:40:07,222 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/0f/f0/3c9627628b0a1db40385b67234739c6cd364440479036c6ea9bdd9ce13aa/mvlearn-0.2.0-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,223 Found link https://files.pythonhosted.org/packages/de/ed/daab6c77cf403bf89b6fe8f42b613af7089235572184f97ae3653a69e14e/mvlearn-0.2.0.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.2.0 2025-09-10T10:40:07,223 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/d4/d0/98346d647540040bb413314b5fe9897598678644019ee28de6fe0843addb/mvlearn-0.2.1-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,223 Found link https://files.pythonhosted.org/packages/c0/1d/0e5ffff495497e725fbddcdc2512bf06062daaae696d7f603db8f7d8d67d/mvlearn-0.2.1.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.2.1 2025-09-10T10:40:07,224 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/7b/d1/08225d86c0f8f12c9804373c83a6f45872d200dc3e28b19604d4e0f5fc9d/mvlearn-0.3.0-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,224 Found link https://files.pythonhosted.org/packages/cb/70/956021b9ad542e5f9395872b815ba21eb1d3db0cbd57e538ab5587d35f3f/mvlearn-0.3.0.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.3.0 2025-09-10T10:40:07,224 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/95/5f/a1b367b7b160d2c129f9ff42aaed589d9556034abc0a9dd5d968f26e2912/mvlearn-0.4.0-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,225 Found link https://files.pythonhosted.org/packages/3b/a4/fbf4b764423be290537daba6d5935d37b7f8b3aa98a512e9a60c19431f92/mvlearn-0.4.0.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.4.0 2025-09-10T10:40:07,225 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/f8/a1/77ee37d526442c7680734d9a30e671f6dcaca7b38ce49e50f76796301e07/mvlearn-0.4.1-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,225 Found link https://files.pythonhosted.org/packages/bd/ef/366cb69abc5c947cf0b9ac95709c0959dde6e94f7842e859c2db97263efd/mvlearn-0.4.1.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.4.1 2025-09-10T10:40:07,226 Skipping link: No binaries permitted for mvlearn: https://files.pythonhosted.org/packages/2b/32/559487c047a01d15fd3211da94d04e37a8fe120dae5d5a9a2c39d244582b/mvlearn-0.5.0-py3-none-any.whl (from https://pypi.org/simple/mvlearn/) 2025-09-10T10:40:07,226 Found link https://files.pythonhosted.org/packages/21/ea/a0dff4a9f560da28406abaaf82f892950ad55bcc56e77b88494a78c59374/mvlearn-0.5.0.tar.gz (from https://pypi.org/simple/mvlearn/), version: 0.5.0 2025-09-10T10:40:07,227 Fetching project page and analyzing links: https://www.piwheels.org/simple/mvlearn/ 2025-09-10T10:40:07,227 Getting page https://www.piwheels.org/simple/mvlearn/ 2025-09-10T10:40:07,229 Found index url https://www.piwheels.org/simple/ 2025-09-10T10:40:07,322 Fetched page https://www.piwheels.org/simple/mvlearn/ as text/html 2025-09-10T10:40:07,324 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.4.1-py3-none-any.whl#sha256=552ce84139e9b960af6b1df091e0957029a74d5d0213b181d2f43551d1e1a791 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,324 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.4.0-py3-none-any.whl#sha256=6c1b476eed65e45c70720d796e19042e959f90e4958c9b72d3d2675902aa1c21 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,324 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.3.0-py3-none-any.whl#sha256=20689ebe9d48d7524a804a1257ed084363096fa1894b8193e9d5a953c03b3813 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,324 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.2.1-py3-none-any.whl#sha256=bac5eb21a7a3998b6a492361a3bfdeff9fa785471ec92ba0bcb5ef39adbc6e95 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,325 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.2.0-py3-none-any.whl#sha256=8e762fccad9956761f0d75ffd24ed90355aaf2f9742644189e6f9543a74ea4dd (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,325 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.1.0-py3-none-any.whl#sha256=0093788fd0aff4feb463c79af9fc364abc2da1d95b587c7add5c73ad2f751911 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,325 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.0.2-py3-none-any.whl#sha256=a471d65147fe0b4b09b1796d14dec5fcb462028ba82fe79bf0f44a75ffca8f70 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,325 Skipping link: No binaries permitted for mvlearn: https://archive1.piwheels.org/simple/mvlearn/mvlearn-0.0.1-py3-none-any.whl#sha256=8f97258c63fec31aa826ad2ac454b6134703e0043b530c48b04d88c547c23b17 (from https://www.piwheels.org/simple/mvlearn/) 2025-09-10T10:40:07,325 Skipping link: not a file: https://www.piwheels.org/simple/mvlearn/ 2025-09-10T10:40:07,325 Skipping link: not a file: https://pypi.org/simple/mvlearn/ 2025-09-10T10:40:07,349 Given no hashes to check 1 links for project 'mvlearn': discarding no candidates 2025-09-10T10:40:07,351 Collecting mvlearn==0.5.0 2025-09-10T10:40:07,352 Created temporary directory: /tmp/pip-unpack-nl_1wcxr 2025-09-10T10:40:07,497 Downloading mvlearn-0.5.0.tar.gz (2.0 MB) 2025-09-10T10:40:07,924 Added mvlearn==0.5.0 from https://files.pythonhosted.org/packages/21/ea/a0dff4a9f560da28406abaaf82f892950ad55bcc56e77b88494a78c59374/mvlearn-0.5.0.tar.gz to build tracker '/tmp/pip-build-tracker-tyr5kkvp' 2025-09-10T10:40:07,926 Running setup.py (path:/tmp/pip-wheel-xu9dz_7w/mvlearn_04c36b24716c45e8856c799005a29a9b/setup.py) egg_info for package mvlearn 2025-09-10T10:40:07,926 Created temporary directory: /tmp/pip-pip-egg-info-0k2wfl4y 2025-09-10T10:40:07,926 Preparing metadata (setup.py): started 2025-09-10T10:40:07,927 Running command python setup.py egg_info 2025-09-10T10:40:08,467 Traceback (most recent call last): 2025-09-10T10:40:08,469 File "", line 2, in 2025-09-10T10:40:08,469 exec(compile(''' 2025-09-10T10:40:08,469 ~~~~^^^^^^^^^^^^ 2025-09-10T10:40:08,469 # This is -- a caller that pip uses to run setup.py 2025-09-10T10:40:08,469 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,469 ...<32 lines>... 2025-09-10T10:40:08,470 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T10:40:08,470 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,470 ''' % ('/tmp/pip-wheel-xu9dz_7w/mvlearn_04c36b24716c45e8856c799005a29a9b/setup.py',), "", "exec")) 2025-09-10T10:40:08,470 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,470 File "", line 35, in 2025-09-10T10:40:08,470 File "/tmp/pip-wheel-xu9dz_7w/mvlearn_04c36b24716c45e8856c799005a29a9b/setup.py", line 26, in 2025-09-10T10:40:08,470 with open("./requirements/base.txt", "r") as f: 2025-09-10T10:40:08,470 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,471 FileNotFoundError: [Errno 2] No such file or directory: './requirements/base.txt' 2025-09-10T10:40:08,554 ERROR: python setup.py egg_info exited with 1 2025-09-10T10:40:08,565 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-10T10:40:08,565 exec(compile('"'"''"'"''"'"' 2025-09-10T10:40:08,565 # This is -- a caller that pip uses to run setup.py 2025-09-10T10:40:08,565 # 2025-09-10T10:40:08,565 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-10T10:40:08,565 # import from `distutils.core` to work with newer packaging standards. 2025-09-10T10:40:08,565 # - It provides a clear error message when setuptools is not installed. 2025-09-10T10:40:08,565 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-10T10:40:08,565 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-10T10:40:08,565 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-10T10:40:08,565 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-10T10:40:08,565 import os, sys, tokenize, traceback 2025-09-10T10:40:08,565 2025-09-10T10:40:08,565 try: 2025-09-10T10:40:08,565 import setuptools 2025-09-10T10:40:08,565 except ImportError: 2025-09-10T10:40:08,565 print( 2025-09-10T10:40:08,565 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-10T10:40:08,565 "the build environment with exception:", 2025-09-10T10:40:08,565 file=sys.stderr, 2025-09-10T10:40:08,565 ) 2025-09-10T10:40:08,565 traceback.print_exc() 2025-09-10T10:40:08,565 sys.exit(1) 2025-09-10T10:40:08,565 2025-09-10T10:40:08,565 __file__ = %r 2025-09-10T10:40:08,565 sys.argv[0] = __file__ 2025-09-10T10:40:08,565 2025-09-10T10:40:08,565 if os.path.exists(__file__): 2025-09-10T10:40:08,565 filename = __file__ 2025-09-10T10:40:08,565 with tokenize.open(__file__) as f: 2025-09-10T10:40:08,565 setup_py_code = f.read() 2025-09-10T10:40:08,565 else: 2025-09-10T10:40:08,565 filename = "" 2025-09-10T10:40:08,565 setup_py_code = "from setuptools import setup; setup()" 2025-09-10T10:40:08,565 2025-09-10T10:40:08,565 exec(compile(setup_py_code, filename, "exec")) 2025-09-10T10:40:08,565 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-xu9dz_7w/mvlearn_04c36b24716c45e8856c799005a29a9b/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-0k2wfl4y[/] 2025-09-10T10:40:08,565 [bold magenta]cwd[/]: /tmp/pip-wheel-xu9dz_7w/mvlearn_04c36b24716c45e8856c799005a29a9b/ 2025-09-10T10:40:08,566 Preparing metadata (setup.py): finished with status 'error' 2025-09-10T10:40:08,566 ERROR: metadata generation failed 2025-09-10T10:40:08,571 Exception information: 2025-09-10T10:40:08,571 Traceback (most recent call last): 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-10T10:40:08,571 call_subprocess( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 args, 2025-09-10T10:40:08,571 ^^^^^ 2025-09-10T10:40:08,571 ...<2 lines>... 2025-09-10T10:40:08,571 spinner=spinner, 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-10T10:40:08,571 raise error 2025-09-10T10:40:08,571 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-10T10:40:08,571 2025-09-10T10:40:08,571 The above exception was the direct cause of the following exception: 2025-09-10T10:40:08,571 2025-09-10T10:40:08,571 Traceback (most recent call last): 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-10T10:40:08,571 status = _inner_run() 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-10T10:40:08,571 return self.run(options, args) 2025-09-10T10:40:08,571 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-10T10:40:08,571 return func(self, options, args) 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-10T10:40:08,571 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-10T10:40:08,571 result = self._result = resolver.resolve( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-10T10:40:08,571 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-10T10:40:08,571 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-10T10:40:08,571 if not criterion.candidates: 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-10T10:40:08,571 return bool(self._sequence) 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-10T10:40:08,571 self._bool = any(self) 2025-09-10T10:40:08,571 ~~~^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-10T10:40:08,571 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-10T10:40:08,571 ^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-10T10:40:08,571 candidate = func() 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-10T10:40:08,571 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 link, template, name, version 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-10T10:40:08,571 self._link_candidate_cache[link] = LinkCandidate( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 link, 2025-09-10T10:40:08,571 ^^^^^ 2025-09-10T10:40:08,571 ...<3 lines>... 2025-09-10T10:40:08,571 version=version, 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-10T10:40:08,571 super().__init__( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 link=link, 2025-09-10T10:40:08,571 ^^^^^^^^^^ 2025-09-10T10:40:08,571 ...<4 lines>... 2025-09-10T10:40:08,571 version=version, 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-10T10:40:08,571 self.dist = self._prepare() 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-10T10:40:08,571 dist = self._prepare_distribution() 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-10T10:40:08,571 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-10T10:40:08,571 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-10T10:40:08,571 dist = _get_prepared_distribution( 2025-09-10T10:40:08,571 req, 2025-09-10T10:40:08,571 ...<3 lines>... 2025-09-10T10:40:08,571 self.check_build_deps, 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-10T10:40:08,571 abstract_dist.prepare_distribution_metadata( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 finder, build_isolation, check_build_deps 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-10T10:40:08,571 self.req.prepare_metadata() 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-10T10:40:08,571 self.metadata_directory = generate_metadata_legacy( 2025-09-10T10:40:08,571 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-10T10:40:08,571 build_env=self.build_env, 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ...<3 lines>... 2025-09-10T10:40:08,571 details=details, 2025-09-10T10:40:08,571 ^^^^^^^^^^^^^^^^ 2025-09-10T10:40:08,571 ) 2025-09-10T10:40:08,571 ^ 2025-09-10T10:40:08,571 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-10T10:40:08,571 raise MetadataGenerationFailed(package_details=details) from error 2025-09-10T10:40:08,571 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-10T10:40:08,592 Removed mvlearn==0.5.0 from https://files.pythonhosted.org/packages/21/ea/a0dff4a9f560da28406abaaf82f892950ad55bcc56e77b88494a78c59374/mvlearn-0.5.0.tar.gz from build tracker '/tmp/pip-build-tracker-tyr5kkvp' 2025-09-10T10:40:08,592 Removed build tracker: '/tmp/pip-build-tracker-tyr5kkvp'