2023-09-15T11:23:00,680 Created temporary directory: /tmp/pip-build-tracker-vts7g5by 2023-09-15T11:23:00,681 Initialized build tracking at /tmp/pip-build-tracker-vts7g5by 2023-09-15T11:23:00,682 Created build tracker: /tmp/pip-build-tracker-vts7g5by 2023-09-15T11:23:00,682 Entered build tracker: /tmp/pip-build-tracker-vts7g5by 2023-09-15T11:23:00,683 Created temporary directory: /tmp/pip-wheel-b42wpuir 2023-09-15T11:23:00,686 Created temporary directory: /tmp/pip-ephem-wheel-cache-zai_9s8z 2023-09-15T11:23:00,708 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-15T11:23:00,712 2 location(s) to search for versions of getsubstring: 2023-09-15T11:23:00,712 * https://pypi.org/simple/getsubstring/ 2023-09-15T11:23:00,712 * https://www.piwheels.org/simple/getsubstring/ 2023-09-15T11:23:00,713 Fetching project page and analyzing links: https://pypi.org/simple/getsubstring/ 2023-09-15T11:23:00,713 Getting page https://pypi.org/simple/getsubstring/ 2023-09-15T11:23:00,715 Found index url https://pypi.org/simple/ 2023-09-15T11:23:00,932 Fetched page https://pypi.org/simple/getsubstring/ as application/vnd.pypi.simple.v1+json 2023-09-15T11:23:00,937 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/98/9b/5032f8a28ef3e6df1b8257c0106147d56065fe7203c4a48546df17159732/GetSubString-1.0.1-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,938 Found link https://files.pythonhosted.org/packages/09/94/f37a87f463be4392285bd0293a1b1532a73ed115a6a644094697f5a746f9/GetSubString-1.0.1.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.1 2023-09-15T11:23:00,939 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/40/d5/3f51a127b05ed2545cac5bc75eec1ff119a4d9e9e5a311d90c5c8c71bbd1/GetSubString-1.0.2-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,939 Skipping link: unsupported archive format: .egg: https://files.pythonhosted.org/packages/21/a5/981fcc87ba8e4eb76e50db08bc4efaf5b1035894437aff7bcefb9455244e/GetSubString-1.0.2-py3.8.egg (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,940 Found link https://files.pythonhosted.org/packages/b9/7e/e64226db06662582688688fec56874685a5f5d1f89cfb13f1e3e7d3afff1/GetSubString-1.0.2.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.2 2023-09-15T11:23:00,941 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/c3/ae/183275f0fae9b07e129365df263aa3830744d031f88883a3667041cb8cd3/GetSubString-1.0.3-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,942 Found link https://files.pythonhosted.org/packages/52/d4/09b282f9724f8e3d973b76f9f33e4df7e0a1547a7a2dd1716be352147ce8/GetSubString-1.0.3.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.3 2023-09-15T11:23:00,943 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/f5/69/bdb78aec8a6c52362d4550ba609cadd7e2cc051fac6059d0c307c09f3733/GetSubString-1.0.4-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,944 Found link https://files.pythonhosted.org/packages/13/1c/18f0414fa35e228ad8aa968286c3377cc881fc21a0b549960054f6360f82/GetSubString-1.0.4.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.4 2023-09-15T11:23:00,944 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/ab/f1/a980b726a86938a854bcfa4079f2b8e7e28bed0f931054489a387dc8e865/GetSubString-1.0.5-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,945 Found link https://files.pythonhosted.org/packages/f1/12/2f05f667a514266d9faa75963474b64f402985d6f32ef782c2065f231d25/GetSubString-1.0.5.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.5 2023-09-15T11:23:00,946 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/45/2b/d47bba903ec73f2fc932169b97404c5ad7bb3c5991e7ffa326970a669253/GetSubString-1.0.6-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,947 Found link https://files.pythonhosted.org/packages/9f/91/76bc9cbd659e8bb0e5865f2814010c9b2843ced15bad986fa4c44a6312e3/GetSubString-1.0.6.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.6 2023-09-15T11:23:00,948 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/94/b4/607d9696c08d93040d1237e5aba4a5342270ab26fcf5be67b0f5ba1ec1a7/GetSubString-1.0.7-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,948 Found link https://files.pythonhosted.org/packages/2b/c5/311842ab1826d33ee47e193722bbccef2d0e68d645e849fce93eaa738b47/GetSubString-1.0.7.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.7 2023-09-15T11:23:00,949 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/9d/0a/d2cf8cf8efa3ed5e29d3e821e2ded5b08d266f3c09d932356a4d0c2b1893/GetSubString-1.0.8-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,950 Found link https://files.pythonhosted.org/packages/e8/23/38cdd955533041f1d7ebaba178ccb6d61d27e33d997be7e084a2f2dced04/GetSubString-1.0.8.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.8 2023-09-15T11:23:00,950 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/99/db/27038227903fa080f89c3d81ded43356e3c3c67924da86a39e77c10c2b9c/GetSubString-1.0.9-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,951 Found link https://files.pythonhosted.org/packages/e0/d1/885a4d99800c7124cea71dc7fd7f95c223595de645e55eb4f5bccb2d1e28/GetSubString-1.0.9.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.9 2023-09-15T11:23:00,952 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/33/57/562b85f2a4a48055b0036c1c5c01f3a827db01a9c80b335576a69185e747/GetSubString-1.0.10-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,953 Found link https://files.pythonhosted.org/packages/22/3f/9cf64c33897353e4700b759f7982270313da4e9e467e06e289f11dc992f4/GetSubString-1.0.10.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.10 2023-09-15T11:23:00,953 Skipping link: No binaries permitted for getsubstring: https://files.pythonhosted.org/packages/1c/f7/45e697b45fa406f731e179e42acf350d45c4033d51f766de598692bfc23e/GetSubString-1.0.11-py3-none-any.whl (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:00,955 Found link https://files.pythonhosted.org/packages/1e/74/97417ddb6bbbf5caa5cd363ad012346db8f36815dc1a14d401243062a91d/GetSubString-1.0.11.tar.gz (from https://pypi.org/simple/getsubstring/) (requires-python:>=3.5), version: 1.0.11 2023-09-15T11:23:00,956 Fetching project page and analyzing links: https://www.piwheels.org/simple/getsubstring/ 2023-09-15T11:23:00,956 Getting page https://www.piwheels.org/simple/getsubstring/ 2023-09-15T11:23:00,957 Found index url https://www.piwheels.org/simple/ 2023-09-15T11:23:01,214 Fetched page https://www.piwheels.org/simple/getsubstring/ as text/html 2023-09-15T11:23:01,216 Skipping link: No binaries permitted for getsubstring: https://www.piwheels.org/simple/getsubstring/GetSubString-1.0.3-py3-none-any.whl#sha256=d9054720b19cb7b7ac50abbce0cea5a52ea058e27686b945851d09bb2d037963 (from https://www.piwheels.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:01,217 Skipping link: No binaries permitted for getsubstring: https://www.piwheels.org/simple/getsubstring/GetSubString-1.0.2-py3-none-any.whl#sha256=8d5f242e03389a1ef1a84b4274ce018f38451f110b3d2d08c8109ca46708d5b9 (from https://www.piwheels.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:01,217 Skipping link: No binaries permitted for getsubstring: https://www.piwheels.org/simple/getsubstring/GetSubString-1.0.1-py3-none-any.whl#sha256=c7534bcba696aea0496e470a5e3e819efcd9a0681ab21f039b82a0a1bcc61cca (from https://www.piwheels.org/simple/getsubstring/) (requires-python:>=3.5) 2023-09-15T11:23:01,218 Skipping link: not a file: https://www.piwheels.org/simple/getsubstring/ 2023-09-15T11:23:01,218 Skipping link: not a file: https://pypi.org/simple/getsubstring/ 2023-09-15T11:23:01,238 Given no hashes to check 1 links for project 'getsubstring': discarding no candidates 2023-09-15T11:23:01,255 Collecting getsubstring==1.0.4 2023-09-15T11:23:01,258 Created temporary directory: /tmp/pip-unpack-x3ts67rm 2023-09-15T11:23:01,468 Downloading GetSubString-1.0.4.tar.gz (4.2 kB) 2023-09-15T11:23:01,501 Added getsubstring==1.0.4 from https://files.pythonhosted.org/packages/13/1c/18f0414fa35e228ad8aa968286c3377cc881fc21a0b549960054f6360f82/GetSubString-1.0.4.tar.gz to build tracker '/tmp/pip-build-tracker-vts7g5by' 2023-09-15T11:23:01,503 Running setup.py (path:/tmp/pip-wheel-b42wpuir/getsubstring_1ecbd84e2dc047d8bf791ecfd25c26cd/setup.py) egg_info for package getsubstring 2023-09-15T11:23:01,504 Created temporary directory: /tmp/pip-pip-egg-info-xalqd4na 2023-09-15T11:23:01,504 Preparing metadata (setup.py): started 2023-09-15T11:23:01,506 Running command python setup.py egg_info 2023-09-15T11:23:01,944 Traceback (most recent call last): 2023-09-15T11:23:01,945 File "", line 2, in 2023-09-15T11:23:01,945 File "", line 34, in 2023-09-15T11:23:01,946 File "/tmp/pip-wheel-b42wpuir/getsubstring_1ecbd84e2dc047d8bf791ecfd25c26cd/setup.py", line 8, in 2023-09-15T11:23:01,947 INSTALL_REQUIRES = get_file_content_as_list("requirements.txt") 2023-09-15T11:23:01,947 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:01,948 File "/tmp/pip-wheel-b42wpuir/getsubstring_1ecbd84e2dc047d8bf791ecfd25c26cd/getsubstr/setuptools.py", line 2, in get_file_content_as_list 2023-09-15T11:23:01,949 with open(file_path, "r", encoding="utf-8") as file: 2023-09-15T11:23:01,950 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:01,950 FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt' 2023-09-15T11:23:01,951 Found packages: ['getsubstr'] 2023-09-15T11:23:02,016 ERROR: [present-rich] python setup.py egg_info exited with 1 2023-09-15T11:23:02,029 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2023-09-15T11:23:02,029 exec(compile('"'"''"'"''"'"' 2023-09-15T11:23:02,029 # This is -- a caller that pip uses to run setup.py 2023-09-15T11:23:02,029 # 2023-09-15T11:23:02,029 # - It imports setuptools before invoking setup.py, to enable projects that directly 2023-09-15T11:23:02,029 # import from `distutils.core` to work with newer packaging standards. 2023-09-15T11:23:02,029 # - It provides a clear error message when setuptools is not installed. 2023-09-15T11:23:02,029 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2023-09-15T11:23:02,029 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2023-09-15T11:23:02,029 # manifest_maker: standard file '"'"'-c'"'"' not found". 2023-09-15T11:23:02,029 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2023-09-15T11:23:02,029 import os, sys, tokenize 2023-09-15T11:23:02,029 2023-09-15T11:23:02,029 try: 2023-09-15T11:23:02,029 import setuptools 2023-09-15T11:23:02,029 except ImportError as error: 2023-09-15T11:23:02,029 print( 2023-09-15T11:23:02,029 "ERROR: Can not execute `setup.py` since setuptools is not available in " 2023-09-15T11:23:02,029 "the build environment.", 2023-09-15T11:23:02,029 file=sys.stderr, 2023-09-15T11:23:02,029 ) 2023-09-15T11:23:02,029 sys.exit(1) 2023-09-15T11:23:02,029 2023-09-15T11:23:02,029 __file__ = %r 2023-09-15T11:23:02,029 sys.argv[0] = __file__ 2023-09-15T11:23:02,029 2023-09-15T11:23:02,029 if os.path.exists(__file__): 2023-09-15T11:23:02,029 filename = __file__ 2023-09-15T11:23:02,029 with tokenize.open(__file__) as f: 2023-09-15T11:23:02,029 setup_py_code = f.read() 2023-09-15T11:23:02,029 else: 2023-09-15T11:23:02,029 filename = "" 2023-09-15T11:23:02,029 setup_py_code = "from setuptools import setup; setup()" 2023-09-15T11:23:02,029 2023-09-15T11:23:02,029 exec(compile(setup_py_code, filename, "exec")) 2023-09-15T11:23:02,029 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-b42wpuir/getsubstring_1ecbd84e2dc047d8bf791ecfd25c26cd/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-xalqd4na[/] 2023-09-15T11:23:02,030 [bold magenta]cwd[/]: /tmp/pip-wheel-b42wpuir/getsubstring_1ecbd84e2dc047d8bf791ecfd25c26cd/ 2023-09-15T11:23:02,031 Preparing metadata (setup.py): finished with status 'error' 2023-09-15T11:23:02,032 ERROR: [present-rich] metadata generation failed 2023-09-15T11:23:02,038 Exception information: 2023-09-15T11:23:02,038 Traceback (most recent call last): 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 64, in generate_metadata 2023-09-15T11:23:02,038 call_subprocess( 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2023-09-15T11:23:02,038 raise error 2023-09-15T11:23:02,038 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2023-09-15T11:23:02,038 2023-09-15T11:23:02,038 The above exception was the direct cause of the following exception: 2023-09-15T11:23:02,038 2023-09-15T11:23:02,038 Traceback (most recent call last): 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2023-09-15T11:23:02,038 status = run_func(*args) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 248, in wrapper 2023-09-15T11:23:02,038 return func(self, options, args) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2023-09-15T11:23:02,038 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve 2023-09-15T11:23:02,038 result = self._result = resolver.resolve( 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2023-09-15T11:23:02,038 state = resolution.resolve(requirements, max_rounds=max_rounds) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2023-09-15T11:23:02,038 self._add_to_criteria(self.state.criteria, r, parent=None) 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria 2023-09-15T11:23:02,038 if not criterion.candidates: 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__ 2023-09-15T11:23:02,038 return bool(self._sequence) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2023-09-15T11:23:02,038 return any(self) 2023-09-15T11:23:02,038 ^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2023-09-15T11:23:02,038 return (c for c in iterator if id(c) not in self._incompatible_ids) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2023-09-15T11:23:02,038 candidate = func() 2023-09-15T11:23:02,038 ^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link 2023-09-15T11:23:02,038 self._link_candidate_cache[link] = LinkCandidate( 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__ 2023-09-15T11:23:02,038 super().__init__( 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ 2023-09-15T11:23:02,038 self.dist = self._prepare() 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare 2023-09-15T11:23:02,038 dist = self._prepare_distribution() 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution 2023-09-15T11:23:02,038 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 538, in prepare_linked_requirement 2023-09-15T11:23:02,038 return self._prepare_linked_requirement(req, parallel_builds) 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 653, in _prepare_linked_requirement 2023-09-15T11:23:02,038 dist = _get_prepared_distribution( 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution 2023-09-15T11:23:02,038 abstract_dist.prepare_distribution_metadata( 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/distributions/sdist.py", line 61, in prepare_distribution_metadata 2023-09-15T11:23:02,038 self.req.prepare_metadata() 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/req/req_install.py", line 568, in prepare_metadata 2023-09-15T11:23:02,038 self.metadata_directory = generate_metadata_legacy( 2023-09-15T11:23:02,038 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-09-15T11:23:02,038 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 71, in generate_metadata 2023-09-15T11:23:02,038 raise MetadataGenerationFailed(package_details=details) from error 2023-09-15T11:23:02,038 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2023-09-15T11:23:02,050 Removed getsubstring==1.0.4 from https://files.pythonhosted.org/packages/13/1c/18f0414fa35e228ad8aa968286c3377cc881fc21a0b549960054f6360f82/GetSubString-1.0.4.tar.gz from build tracker '/tmp/pip-build-tracker-vts7g5by' 2023-09-15T11:23:02,052 Removed build tracker: '/tmp/pip-build-tracker-vts7g5by'