2025-09-08T20:47:12,307 Created temporary directory: /tmp/pip-build-tracker-t0vynmcw 2025-09-08T20:47:12,307 Initialized build tracking at /tmp/pip-build-tracker-t0vynmcw 2025-09-08T20:47:12,308 Created build tracker: /tmp/pip-build-tracker-t0vynmcw 2025-09-08T20:47:12,308 Entered build tracker: /tmp/pip-build-tracker-t0vynmcw 2025-09-08T20:47:12,308 Created temporary directory: /tmp/pip-wheel-_mjdqsa2 2025-09-08T20:47:12,311 Created temporary directory: /tmp/pip-ephem-wheel-cache-r4k0z5tr 2025-09-08T20:47:12,369 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T20:47:12,371 2 location(s) to search for versions of riskparityportfolio: 2025-09-08T20:47:12,371 * https://pypi.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,371 * https://www.piwheels.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,372 Fetching project page and analyzing links: https://pypi.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,372 Getting page https://pypi.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,373 Found index url https://pypi.org/simple/ 2025-09-08T20:47:12,443 Fetched page https://pypi.org/simple/riskparityportfolio/ as application/vnd.pypi.simple.v1+json 2025-09-08T20:47:12,445 Found link https://files.pythonhosted.org/packages/b8/b2/e190e3ebd5a65476ae631af40904bb165d49e4fc5541aef7acd172ce40c5/riskparityportfolio-0.1.0.dev0.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.0.dev0 2025-09-08T20:47:12,445 Found link https://files.pythonhosted.org/packages/38/be/a9b1f421683ccb77bbceffca42607cfff54aa01c5546f7199f52e90f554c/riskparityportfolio-0.1.1.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.1 2025-09-08T20:47:12,445 Found link https://files.pythonhosted.org/packages/e4/c9/fdcfc877bdc663720bb8eaf281d4590a5a5cff3f965a37bfaf6f58bc2ba4/riskparityportfolio-0.1.2.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.2 2025-09-08T20:47:12,445 Found link https://files.pythonhosted.org/packages/11/47/ce8c88c14e98aa00594c051d5833233cc100fa6cb93c8812a23b7736066c/riskparityportfolio-0.1.3.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.3 2025-09-08T20:47:12,446 Found link https://files.pythonhosted.org/packages/ba/14/4b58ddc7d9e2aeb96e3647360877d0208b66c6b6147c034c2ea959dae369/riskparityportfolio-0.1.4.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.4 2025-09-08T20:47:12,446 Found link https://files.pythonhosted.org/packages/b1/3b/cfa47137785e39a9785a6d76600e637eb5bb460e43b1616e5bd67f04c89c/riskparityportfolio-0.1.5.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.5 2025-09-08T20:47:12,446 Found link https://files.pythonhosted.org/packages/ee/23/3f24e94ececce93c6e0646f8190f63c9a103ae745317833c82f444148e4e/riskparityportfolio-0.1.6.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.1.6 2025-09-08T20:47:12,446 Found link https://files.pythonhosted.org/packages/4c/b0/d24ca75f3c28a31872d2efd191f2aada634bbf55101675bd5363f3fe6c0d/riskparityportfolio-0.2.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.2 2025-09-08T20:47:12,446 Found link https://files.pythonhosted.org/packages/99/bf/1b4d9e9c1829e178c25a095ea90f06a92aa07f2ff111773a49f8f6138ca3/riskparityportfolio-0.3.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.3 2025-09-08T20:47:12,447 Found link https://files.pythonhosted.org/packages/c6/10/bdba40cd7488c464facea7498f9d92dc4be777fbc02bb32b7c9346c81952/riskparityportfolio-0.4.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.4 2025-09-08T20:47:12,447 Found link https://files.pythonhosted.org/packages/26/09/342a1307f4b4e56d7c754e5664949a34c0039c4c8942b1645a3aba9fc95d/riskparityportfolio-0.5.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.5 2025-09-08T20:47:12,447 Found link https://files.pythonhosted.org/packages/f5/46/721eec7e7f8adf582510e70acc6396d4e29fe9e7482d05c7596d4b5d3d38/riskparityportfolio-0.5.1.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.5.1 2025-09-08T20:47:12,447 Found link https://files.pythonhosted.org/packages/04/35/544f0fc6aa6e31013e9a7111a086045765367b1c9c21baa3ec1df5fe3388/riskparityportfolio-0.6.0.tar.gz (from https://pypi.org/simple/riskparityportfolio/), version: 0.6.0 2025-09-08T20:47:12,448 Fetching project page and analyzing links: https://www.piwheels.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,448 Getting page https://www.piwheels.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,449 Found index url https://www.piwheels.org/simple/ 2025-09-08T20:47:12,550 Fetched page https://www.piwheels.org/simple/riskparityportfolio/ as text/html 2025-09-08T20:47:12,552 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp35-cp35m-linux_armv6l.whl#sha256=14c8fdd6f0bc976cf248c2c17683070809dc529a9de64f8eba0f2e9e33a0ed51 (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,552 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp35-cp35m-linux_armv7l.whl#sha256=14c8fdd6f0bc976cf248c2c17683070809dc529a9de64f8eba0f2e9e33a0ed51 (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,552 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp37-cp37m-linux_armv7l.whl#sha256=dddf920a72c40762e05963bcb53522809cdcb7f2b5197e4ddce25013217e0afb (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,552 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp37-cp37m-linux_armv6l.whl#sha256=dddf920a72c40762e05963bcb53522809cdcb7f2b5197e4ddce25013217e0afb (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,553 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp39-cp39-linux_armv6l.whl#sha256=61d9c321cf3c0177357573b3f99cab034108e722f10148a3d192e1fd7aa85a87 (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,553 Skipping link: No binaries permitted for riskparityportfolio: https://archive1.piwheels.org/simple/riskparityportfolio/riskparityportfolio-0.2-cp39-cp39-linux_armv7l.whl#sha256=61d9c321cf3c0177357573b3f99cab034108e722f10148a3d192e1fd7aa85a87 (from https://www.piwheels.org/simple/riskparityportfolio/) 2025-09-08T20:47:12,553 Skipping link: not a file: https://www.piwheels.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,553 Skipping link: not a file: https://pypi.org/simple/riskparityportfolio/ 2025-09-08T20:47:12,577 Given no hashes to check 1 links for project 'riskparityportfolio': discarding no candidates 2025-09-08T20:47:12,578 Collecting riskparityportfolio==0.1.1 2025-09-08T20:47:12,580 Created temporary directory: /tmp/pip-unpack-9jk_pvv6 2025-09-08T20:47:12,911 Downloading riskparityportfolio-0.1.1.tar.gz (2.1 MB) 2025-09-08T20:47:14,364 Added riskparityportfolio==0.1.1 from https://files.pythonhosted.org/packages/38/be/a9b1f421683ccb77bbceffca42607cfff54aa01c5546f7199f52e90f554c/riskparityportfolio-0.1.1.tar.gz to build tracker '/tmp/pip-build-tracker-t0vynmcw' 2025-09-08T20:47:14,365 Running setup.py (path:/tmp/pip-wheel-_mjdqsa2/riskparityportfolio_2e4cebd1f4e746ab9f4c2f7fe6e808d5/setup.py) egg_info for package riskparityportfolio 2025-09-08T20:47:14,365 Created temporary directory: /tmp/pip-pip-egg-info-8hyvx344 2025-09-08T20:47:14,365 Preparing metadata (setup.py): started 2025-09-08T20:47:14,366 Running command python setup.py egg_info 2025-09-08T20:47:15,188 /usr/local/lib/python3.13/dist-packages/setuptools/__init__.py:92: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. 2025-09-08T20:47:15,188 !! 2025-09-08T20:47:15,189 ******************************************************************************** 2025-09-08T20:47:15,189 Requirements should be satisfied by a PEP 517 installer. 2025-09-08T20:47:15,189 If you are using pip, you can try `pip install --use-pep517`. 2025-09-08T20:47:15,189 By 2025-Oct-31, you need to update your project and remove deprecated calls 2025-09-08T20:47:15,189 or your builds will no longer be supported. 2025-09-08T20:47:15,189 ******************************************************************************** 2025-09-08T20:47:15,190 !! 2025-09-08T20:47:15,190 dist.fetch_build_eggs(dist.setup_requires) 2025-09-08T20:47:20,554 ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none) 2025-09-08T20:47:20,554 ERROR: No matching distribution found for tensorflow 2025-09-08T20:47:20,749 Traceback (most recent call last): 2025-09-08T20:47:20,750 File "/usr/local/lib/python3.13/dist-packages/setuptools/installer.py", line 121, in _fetch_build_egg_no_warn 2025-09-08T20:47:20,750 subprocess.check_call(cmd) 2025-09-08T20:47:20,750 ~~~~~~~~~~~~~~~~~~~~~^^^^^ 2025-09-08T20:47:20,750 File "/usr/lib/python3.13/subprocess.py", line 419, in check_call 2025-09-08T20:47:20,750 raise CalledProcessError(retcode, cmd) 2025-09-08T20:47:20,750 subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmplk3ufe4z', '--quiet', 'tensorflow']' returned non-zero exit status 1. 2025-09-08T20:47:20,750 The above exception was the direct cause of the following exception: 2025-09-08T20:47:20,751 Traceback (most recent call last): 2025-09-08T20:47:20,753 File "", line 2, in 2025-09-08T20:47:20,754 exec(compile(''' 2025-09-08T20:47:20,754 ~~~~^^^^^^^^^^^^ 2025-09-08T20:47:20,754 # This is -- a caller that pip uses to run setup.py 2025-09-08T20:47:20,754 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,754 ...<32 lines>... 2025-09-08T20:47:20,754 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T20:47:20,754 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,754 ''' % ('/tmp/pip-wheel-_mjdqsa2/riskparityportfolio_2e4cebd1f4e746ab9f4c2f7fe6e808d5/setup.py',), "", "exec")) 2025-09-08T20:47:20,754 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,755 File "", line 35, in 2025-09-08T20:47:20,755 File "/tmp/pip-wheel-_mjdqsa2/riskparityportfolio_2e4cebd1f4e746ab9f4c2f7fe6e808d5/setup.py", line 116, in 2025-09-08T20:47:20,755 setup( 2025-09-08T20:47:20,755 ~~~~~^ 2025-09-08T20:47:20,755 name='riskparityportfolio', 2025-09-08T20:47:20,755 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,755 ...<18 lines>... 2025-09-08T20:47:20,755 include_package_data=True, 2025-09-08T20:47:20,756 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,756 ) 2025-09-08T20:47:20,756 ^ 2025-09-08T20:47:20,756 File "/usr/local/lib/python3.13/dist-packages/setuptools/__init__.py", line 114, in setup 2025-09-08T20:47:20,756 _install_setup_requires(attrs) 2025-09-08T20:47:20,756 ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ 2025-09-08T20:47:20,756 File "/usr/local/lib/python3.13/dist-packages/setuptools/__init__.py", line 87, in _install_setup_requires 2025-09-08T20:47:20,756 _fetch_build_eggs(dist) 2025-09-08T20:47:20,756 ~~~~~~~~~~~~~~~~~^^^^^^ 2025-09-08T20:47:20,757 File "/usr/local/lib/python3.13/dist-packages/setuptools/__init__.py", line 92, in _fetch_build_eggs 2025-09-08T20:47:20,757 dist.fetch_build_eggs(dist.setup_requires) 2025-09-08T20:47:20,757 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,757 File "/usr/local/lib/python3.13/dist-packages/setuptools/dist.py", line 766, in fetch_build_eggs 2025-09-08T20:47:20,757 return _fetch_build_eggs(self, requires) 2025-09-08T20:47:20,757 File "/usr/local/lib/python3.13/dist-packages/setuptools/installer.py", line 54, in _fetch_build_eggs 2025-09-08T20:47:20,757 resolved_dists = [_fetch_build_egg_no_warn(dist, req) for req in needed_reqs] 2025-09-08T20:47:20,758 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 2025-09-08T20:47:20,758 File "/usr/local/lib/python3.13/dist-packages/setuptools/installer.py", line 123, in _fetch_build_egg_no_warn 2025-09-08T20:47:20,758 raise DistutilsError(str(e)) from e 2025-09-08T20:47:20,758 distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmplk3ufe4z', '--quiet', 'tensorflow']' returned non-zero exit status 1. 2025-09-08T20:47:20,869 ERROR: python setup.py egg_info exited with 1 2025-09-08T20:47:20,880 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T20:47:20,880 exec(compile('"'"''"'"''"'"' 2025-09-08T20:47:20,880 # This is -- a caller that pip uses to run setup.py 2025-09-08T20:47:20,880 # 2025-09-08T20:47:20,880 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T20:47:20,880 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T20:47:20,880 # - It provides a clear error message when setuptools is not installed. 2025-09-08T20:47:20,880 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T20:47:20,880 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T20:47:20,880 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T20:47:20,880 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T20:47:20,880 import os, sys, tokenize, traceback 2025-09-08T20:47:20,880 2025-09-08T20:47:20,880 try: 2025-09-08T20:47:20,880 import setuptools 2025-09-08T20:47:20,880 except ImportError: 2025-09-08T20:47:20,880 print( 2025-09-08T20:47:20,880 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T20:47:20,880 "the build environment with exception:", 2025-09-08T20:47:20,880 file=sys.stderr, 2025-09-08T20:47:20,880 ) 2025-09-08T20:47:20,880 traceback.print_exc() 2025-09-08T20:47:20,880 sys.exit(1) 2025-09-08T20:47:20,880 2025-09-08T20:47:20,880 __file__ = %r 2025-09-08T20:47:20,880 sys.argv[0] = __file__ 2025-09-08T20:47:20,880 2025-09-08T20:47:20,880 if os.path.exists(__file__): 2025-09-08T20:47:20,880 filename = __file__ 2025-09-08T20:47:20,880 with tokenize.open(__file__) as f: 2025-09-08T20:47:20,880 setup_py_code = f.read() 2025-09-08T20:47:20,880 else: 2025-09-08T20:47:20,880 filename = "" 2025-09-08T20:47:20,880 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T20:47:20,880 2025-09-08T20:47:20,880 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T20:47:20,880 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-_mjdqsa2/riskparityportfolio_2e4cebd1f4e746ab9f4c2f7fe6e808d5/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-8hyvx344[/] 2025-09-08T20:47:20,880 [bold magenta]cwd[/]: /tmp/pip-wheel-_mjdqsa2/riskparityportfolio_2e4cebd1f4e746ab9f4c2f7fe6e808d5/ 2025-09-08T20:47:20,880 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T20:47:20,881 ERROR: metadata generation failed 2025-09-08T20:47:20,886 Exception information: 2025-09-08T20:47:20,886 Traceback (most recent call last): 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T20:47:20,886 call_subprocess( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 args, 2025-09-08T20:47:20,886 ^^^^^ 2025-09-08T20:47:20,886 ...<2 lines>... 2025-09-08T20:47:20,886 spinner=spinner, 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T20:47:20,886 raise error 2025-09-08T20:47:20,886 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T20:47:20,886 2025-09-08T20:47:20,886 The above exception was the direct cause of the following exception: 2025-09-08T20:47:20,886 2025-09-08T20:47:20,886 Traceback (most recent call last): 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T20:47:20,886 status = _inner_run() 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T20:47:20,886 return self.run(options, args) 2025-09-08T20:47:20,886 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T20:47:20,886 return func(self, options, args) 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T20:47:20,886 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T20:47:20,886 result = self._result = resolver.resolve( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T20:47:20,886 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T20:47:20,886 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T20:47:20,886 if not criterion.candidates: 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T20:47:20,886 return bool(self._sequence) 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T20:47:20,886 self._bool = any(self) 2025-09-08T20:47:20,886 ~~~^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T20:47:20,886 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T20:47:20,886 ^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T20:47:20,886 candidate = func() 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T20:47:20,886 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 link, template, name, version 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T20:47:20,886 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 link, 2025-09-08T20:47:20,886 ^^^^^ 2025-09-08T20:47:20,886 ...<3 lines>... 2025-09-08T20:47:20,886 version=version, 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T20:47:20,886 super().__init__( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 link=link, 2025-09-08T20:47:20,886 ^^^^^^^^^^ 2025-09-08T20:47:20,886 ...<4 lines>... 2025-09-08T20:47:20,886 version=version, 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T20:47:20,886 self.dist = self._prepare() 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T20:47:20,886 dist = self._prepare_distribution() 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T20:47:20,886 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T20:47:20,886 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T20:47:20,886 dist = _get_prepared_distribution( 2025-09-08T20:47:20,886 req, 2025-09-08T20:47:20,886 ...<3 lines>... 2025-09-08T20:47:20,886 self.check_build_deps, 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T20:47:20,886 abstract_dist.prepare_distribution_metadata( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 finder, build_isolation, check_build_deps 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T20:47:20,886 self.req.prepare_metadata() 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T20:47:20,886 self.metadata_directory = generate_metadata_legacy( 2025-09-08T20:47:20,886 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T20:47:20,886 build_env=self.build_env, 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ...<3 lines>... 2025-09-08T20:47:20,886 details=details, 2025-09-08T20:47:20,886 ^^^^^^^^^^^^^^^^ 2025-09-08T20:47:20,886 ) 2025-09-08T20:47:20,886 ^ 2025-09-08T20:47:20,886 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T20:47:20,886 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T20:47:20,886 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T20:47:20,907 Removed riskparityportfolio==0.1.1 from https://files.pythonhosted.org/packages/38/be/a9b1f421683ccb77bbceffca42607cfff54aa01c5546f7199f52e90f554c/riskparityportfolio-0.1.1.tar.gz from build tracker '/tmp/pip-build-tracker-t0vynmcw' 2025-09-08T20:47:20,907 Removed build tracker: '/tmp/pip-build-tracker-t0vynmcw'