2025-09-14T19:48:51,639 Created temporary directory: /tmp/pip-build-tracker-cbb3sk5q 2025-09-14T19:48:51,640 Initialized build tracking at /tmp/pip-build-tracker-cbb3sk5q 2025-09-14T19:48:51,640 Created build tracker: /tmp/pip-build-tracker-cbb3sk5q 2025-09-14T19:48:51,640 Entered build tracker: /tmp/pip-build-tracker-cbb3sk5q 2025-09-14T19:48:51,640 Created temporary directory: /tmp/pip-wheel-_ytxx0n5 2025-09-14T19:48:51,644 Created temporary directory: /tmp/pip-ephem-wheel-cache-d98uglkw 2025-09-14T19:48:51,696 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-14T19:48:51,698 2 location(s) to search for versions of di-treetensor: 2025-09-14T19:48:51,698 * https://pypi.org/simple/di-treetensor/ 2025-09-14T19:48:51,698 * https://www.piwheels.org/simple/di-treetensor/ 2025-09-14T19:48:51,699 Fetching project page and analyzing links: https://pypi.org/simple/di-treetensor/ 2025-09-14T19:48:51,699 Getting page https://pypi.org/simple/di-treetensor/ 2025-09-14T19:48:51,700 Found index url https://pypi.org/simple/ 2025-09-14T19:48:51,844 Fetched page https://pypi.org/simple/di-treetensor/ as application/vnd.pypi.simple.v1+json 2025-09-14T19:48:51,847 Found link https://files.pythonhosted.org/packages/7a/92/dbc812a374847607f3222ae3ffefa18363137f268b000c98ab80c1704c2d/DI-treetensor-0.0.1.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6), version: 0.0.1 2025-09-14T19:48:51,847 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/ad/56/9e569bf8ad5f959ad3ecd19f01fd3f835d339b78ee4078fd7be1fbecb62c/DI_treetensor-0.0.1-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6) 2025-09-14T19:48:51,847 Found link https://files.pythonhosted.org/packages/da/e4/29923ade0e3d415547402a1d8b7a715da48899fd7402c5eeef644de47065/DI-treetensor-0.1.0.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6), version: 0.1.0 2025-09-14T19:48:51,848 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/04/49/eab3b6af1c911e93d88011236cb9a7e87c64f4842dea04129162391892f0/DI_treetensor-0.1.0-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6) 2025-09-14T19:48:51,848 Found link https://files.pythonhosted.org/packages/ee/39/3768d993a22eb9ab9167411177bacb1cb7bd2394caca2467b251a7b04d5f/DI-treetensor-0.2.0.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6), version: 0.2.0 2025-09-14T19:48:51,848 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/37/f0/b29773ce3afdb5b7b0148db6e97f643a759d8c463112ac7eef620ba540f4/DI_treetensor-0.2.0-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6) 2025-09-14T19:48:51,848 Found link https://files.pythonhosted.org/packages/ab/6e/0093a2649c246d7a937a8138e060e0629821b9d96815606d215937befaf7/DI-treetensor-0.2.1.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6), version: 0.2.1 2025-09-14T19:48:51,848 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/b2/8b/c4a5b0dca38d80fdd1d3f5c768823011b40acd933ab1b095b5848d382c24/DI_treetensor-0.2.1-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6) 2025-09-14T19:48:51,848 Found link https://files.pythonhosted.org/packages/3b/4b/fbb897fd1dcac25e85e8b156e936796e360621a23b4e9ecd0880a8e3d3dd/DI-treetensor-0.3.0.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6), version: 0.3.0 2025-09-14T19:48:51,849 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/83/de/30abb7c8dafff7dd4d85d78833ad0eee109bda68e3667067417c798f684b/DI_treetensor-0.3.0-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.6) 2025-09-14T19:48:51,849 Found link https://files.pythonhosted.org/packages/9b/e4/97bfb8ff07bc08745e0d0df39b037a933e35f0437fc96cd75549da460baf/DI-treetensor-0.4.0.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.7), version: 0.4.0 2025-09-14T19:48:51,849 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/2d/83/8d52080a63406f1929122945420dbf0a63f0f6b576750a0576fe76a904a3/DI_treetensor-0.4.0-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.7) 2025-09-14T19:48:51,849 Found link https://files.pythonhosted.org/packages/1d/cd/7d63040fd7a5b037aad773a17d37983f97d655faae493a2f664af1c32667/DI-treetensor-0.4.1.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.7), version: 0.4.1 2025-09-14T19:48:51,850 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/c9/ef/2cb8e56fb744b3270bf267ba850579086f18a53c5a904bcc7c81c10e99ca/DI_treetensor-0.4.1-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.7) 2025-09-14T19:48:51,850 Skipping link: No binaries permitted for di-treetensor: https://files.pythonhosted.org/packages/94/e1/4be84a374536c6f361d8701346a43cb9da3f8bfc2be4e138e0c91e6b2a29/DI_treetensor-0.5.0-py3-none-any.whl (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.8) 2025-09-14T19:48:51,850 Found link https://files.pythonhosted.org/packages/1e/ae/08a0f4d8413a582a36de3fd8b7f6b4b228415a86b78956ccae74363327d1/di_treetensor-0.5.0.tar.gz (from https://pypi.org/simple/di-treetensor/) (requires-python:>=3.8), version: 0.5.0 2025-09-14T19:48:51,851 Fetching project page and analyzing links: https://www.piwheels.org/simple/di-treetensor/ 2025-09-14T19:48:51,851 Getting page https://www.piwheels.org/simple/di-treetensor/ 2025-09-14T19:48:51,852 Found index url https://www.piwheels.org/simple/ 2025-09-14T19:48:51,938 Fetched page https://www.piwheels.org/simple/di-treetensor/ as text/html 2025-09-14T19:48:51,939 Skipping link: not a file: https://www.piwheels.org/simple/di-treetensor/ 2025-09-14T19:48:51,939 Skipping link: not a file: https://pypi.org/simple/di-treetensor/ 2025-09-14T19:48:51,961 Given no hashes to check 1 links for project 'di-treetensor': discarding no candidates 2025-09-14T19:48:51,962 Collecting di-treetensor==0.5.0 2025-09-14T19:48:51,963 Created temporary directory: /tmp/pip-unpack-vy_2rwt0 2025-09-14T19:48:52,096 Downloading di_treetensor-0.5.0.tar.gz (39 kB) 2025-09-14T19:48:52,145 Added di-treetensor==0.5.0 from https://files.pythonhosted.org/packages/1e/ae/08a0f4d8413a582a36de3fd8b7f6b4b228415a86b78956ccae74363327d1/di_treetensor-0.5.0.tar.gz to build tracker '/tmp/pip-build-tracker-cbb3sk5q' 2025-09-14T19:48:52,146 Running setup.py (path:/tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/setup.py) egg_info for package di-treetensor 2025-09-14T19:48:52,147 Created temporary directory: /tmp/pip-pip-egg-info-33r0ke38 2025-09-14T19:48:52,147 Preparing metadata (setup.py): started 2025-09-14T19:48:52,148 Running command python setup.py egg_info 2025-09-14T19:48:52,666 Traceback (most recent call last): 2025-09-14T19:48:52,668 File "", line 2, in 2025-09-14T19:48:52,668 exec(compile(''' 2025-09-14T19:48:52,668 ~~~~^^^^^^^^^^^^ 2025-09-14T19:48:52,668 # This is -- a caller that pip uses to run setup.py 2025-09-14T19:48:52,668 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,669 ...<32 lines>... 2025-09-14T19:48:52,669 exec(compile(setup_py_code, filename, "exec")) 2025-09-14T19:48:52,669 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,669 ''' % ('/tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/setup.py',), "", "exec")) 2025-09-14T19:48:52,669 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,669 File "", line 35, in 2025-09-14T19:48:52,669 File "/tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/setup.py", line 21, in 2025-09-14T19:48:52,669 requirements = _load_req('requirements.txt') 2025-09-14T19:48:52,670 File "/tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/setup.py", line 17, in _load_req 2025-09-14T19:48:52,670 with open(file, 'r', 'utf-8') as f: 2025-09-14T19:48:52,670 ~~~~^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,670 File "", line 921, in open 2025-09-14T19:48:52,670 FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt' 2025-09-14T19:48:52,755 ERROR: python setup.py egg_info exited with 1 2025-09-14T19:48:52,767 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-14T19:48:52,767 exec(compile('"'"''"'"''"'"' 2025-09-14T19:48:52,767 # This is -- a caller that pip uses to run setup.py 2025-09-14T19:48:52,767 # 2025-09-14T19:48:52,767 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-14T19:48:52,767 # import from `distutils.core` to work with newer packaging standards. 2025-09-14T19:48:52,767 # - It provides a clear error message when setuptools is not installed. 2025-09-14T19:48:52,767 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-14T19:48:52,767 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-14T19:48:52,767 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-14T19:48:52,767 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-14T19:48:52,767 import os, sys, tokenize, traceback 2025-09-14T19:48:52,767 2025-09-14T19:48:52,767 try: 2025-09-14T19:48:52,767 import setuptools 2025-09-14T19:48:52,767 except ImportError: 2025-09-14T19:48:52,767 print( 2025-09-14T19:48:52,767 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-14T19:48:52,767 "the build environment with exception:", 2025-09-14T19:48:52,767 file=sys.stderr, 2025-09-14T19:48:52,767 ) 2025-09-14T19:48:52,767 traceback.print_exc() 2025-09-14T19:48:52,767 sys.exit(1) 2025-09-14T19:48:52,767 2025-09-14T19:48:52,767 __file__ = %r 2025-09-14T19:48:52,767 sys.argv[0] = __file__ 2025-09-14T19:48:52,767 2025-09-14T19:48:52,767 if os.path.exists(__file__): 2025-09-14T19:48:52,767 filename = __file__ 2025-09-14T19:48:52,767 with tokenize.open(__file__) as f: 2025-09-14T19:48:52,767 setup_py_code = f.read() 2025-09-14T19:48:52,767 else: 2025-09-14T19:48:52,767 filename = "" 2025-09-14T19:48:52,767 setup_py_code = "from setuptools import setup; setup()" 2025-09-14T19:48:52,767 2025-09-14T19:48:52,767 exec(compile(setup_py_code, filename, "exec")) 2025-09-14T19:48:52,767 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-33r0ke38[/] 2025-09-14T19:48:52,767 [bold magenta]cwd[/]: /tmp/pip-wheel-_ytxx0n5/di-treetensor_4e536b08c7624fef946c9e2330c60c8b/ 2025-09-14T19:48:52,767 Preparing metadata (setup.py): finished with status 'error' 2025-09-14T19:48:52,768 ERROR: metadata generation failed 2025-09-14T19:48:52,773 Exception information: 2025-09-14T19:48:52,773 Traceback (most recent call last): 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-14T19:48:52,773 call_subprocess( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 args, 2025-09-14T19:48:52,773 ^^^^^ 2025-09-14T19:48:52,773 ...<2 lines>... 2025-09-14T19:48:52,773 spinner=spinner, 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-14T19:48:52,773 raise error 2025-09-14T19:48:52,773 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-14T19:48:52,773 2025-09-14T19:48:52,773 The above exception was the direct cause of the following exception: 2025-09-14T19:48:52,773 2025-09-14T19:48:52,773 Traceback (most recent call last): 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-14T19:48:52,773 status = _inner_run() 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-14T19:48:52,773 return self.run(options, args) 2025-09-14T19:48:52,773 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-14T19:48:52,773 return func(self, options, args) 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-14T19:48:52,773 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-14T19:48:52,773 result = self._result = resolver.resolve( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-14T19:48:52,773 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-14T19:48:52,773 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-14T19:48:52,773 if not criterion.candidates: 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-14T19:48:52,773 return bool(self._sequence) 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-14T19:48:52,773 self._bool = any(self) 2025-09-14T19:48:52,773 ~~~^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-14T19:48:52,773 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-14T19:48:52,773 ^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-14T19:48:52,773 candidate = func() 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-14T19:48:52,773 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 link, template, name, version 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-14T19:48:52,773 self._link_candidate_cache[link] = LinkCandidate( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 link, 2025-09-14T19:48:52,773 ^^^^^ 2025-09-14T19:48:52,773 ...<3 lines>... 2025-09-14T19:48:52,773 version=version, 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-14T19:48:52,773 super().__init__( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 link=link, 2025-09-14T19:48:52,773 ^^^^^^^^^^ 2025-09-14T19:48:52,773 ...<4 lines>... 2025-09-14T19:48:52,773 version=version, 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-14T19:48:52,773 self.dist = self._prepare() 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-14T19:48:52,773 dist = self._prepare_distribution() 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-14T19:48:52,773 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-14T19:48:52,773 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-14T19:48:52,773 dist = _get_prepared_distribution( 2025-09-14T19:48:52,773 req, 2025-09-14T19:48:52,773 ...<3 lines>... 2025-09-14T19:48:52,773 self.check_build_deps, 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-14T19:48:52,773 abstract_dist.prepare_distribution_metadata( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 finder, build_isolation, check_build_deps 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-14T19:48:52,773 self.req.prepare_metadata() 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-14T19:48:52,773 self.metadata_directory = generate_metadata_legacy( 2025-09-14T19:48:52,773 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T19:48:52,773 build_env=self.build_env, 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ...<3 lines>... 2025-09-14T19:48:52,773 details=details, 2025-09-14T19:48:52,773 ^^^^^^^^^^^^^^^^ 2025-09-14T19:48:52,773 ) 2025-09-14T19:48:52,773 ^ 2025-09-14T19:48:52,773 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-14T19:48:52,773 raise MetadataGenerationFailed(package_details=details) from error 2025-09-14T19:48:52,773 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-14T19:48:52,793 Removed di-treetensor==0.5.0 from https://files.pythonhosted.org/packages/1e/ae/08a0f4d8413a582a36de3fd8b7f6b4b228415a86b78956ccae74363327d1/di_treetensor-0.5.0.tar.gz from build tracker '/tmp/pip-build-tracker-cbb3sk5q' 2025-09-14T19:48:52,794 Removed build tracker: '/tmp/pip-build-tracker-cbb3sk5q'