2025-09-08T18:35:28,790 Created temporary directory: /tmp/pip-build-tracker-tcpws5rx 2025-09-08T18:35:28,791 Initialized build tracking at /tmp/pip-build-tracker-tcpws5rx 2025-09-08T18:35:28,791 Created build tracker: /tmp/pip-build-tracker-tcpws5rx 2025-09-08T18:35:28,791 Entered build tracker: /tmp/pip-build-tracker-tcpws5rx 2025-09-08T18:35:28,791 Created temporary directory: /tmp/pip-wheel-nsw1vx_j 2025-09-08T18:35:28,794 Created temporary directory: /tmp/pip-ephem-wheel-cache-cru_vmss 2025-09-08T18:35:28,852 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T18:35:28,854 2 location(s) to search for versions of cannycam: 2025-09-08T18:35:28,854 * https://pypi.org/simple/cannycam/ 2025-09-08T18:35:28,854 * https://www.piwheels.org/simple/cannycam/ 2025-09-08T18:35:28,854 Fetching project page and analyzing links: https://pypi.org/simple/cannycam/ 2025-09-08T18:35:28,855 Getting page https://pypi.org/simple/cannycam/ 2025-09-08T18:35:28,856 Found index url https://pypi.org/simple/ 2025-09-08T18:35:29,062 Fetched page https://pypi.org/simple/cannycam/ as application/vnd.pypi.simple.v1+json 2025-09-08T18:35:29,066 Skipping link: No binaries permitted for cannycam: https://files.pythonhosted.org/packages/50/cf/c98c43d224624822b1f20b516a064b7cf72361e591abbf1f42194a5f56a0/cannycam-0.0.1-py2-none-any.whl (from https://pypi.org/simple/cannycam/) 2025-09-08T18:35:29,067 Found link https://files.pythonhosted.org/packages/62/21/2763c80f7964db84fc495e9c4f9ff5d4d1a921eb44d2e36b2c982b45ea0a/cannycam-0.0.1.tar.gz (from https://pypi.org/simple/cannycam/), version: 0.0.1 2025-09-08T18:35:29,067 Skipping link: No binaries permitted for cannycam: https://files.pythonhosted.org/packages/7a/a5/e9d8b0730772d8972263bde05d848d4bd4a9db21df08c17401909aa8dddf/cannycam-0.0.2-py2-none-any.whl (from https://pypi.org/simple/cannycam/) 2025-09-08T18:35:29,068 Found link https://files.pythonhosted.org/packages/63/e4/151e07572108aaebd8d55d49dff3c65f9f17c8e10ec6a71d22151ff2ce1d/cannycam-0.0.2.tar.gz (from https://pypi.org/simple/cannycam/), version: 0.0.2 2025-09-08T18:35:29,068 Skipping link: No binaries permitted for cannycam: https://files.pythonhosted.org/packages/9e/b4/f550ce752f78befed448189dce302c7370eaef652f923d1768b208f5e363/cannycam-0.0.3-py2-none-any.whl (from https://pypi.org/simple/cannycam/) 2025-09-08T18:35:29,069 Found link https://files.pythonhosted.org/packages/d8/38/bf1c98004cf5bdb4de73dbbcbd6ef49878e8885d26f378c5b62c85718a25/cannycam-0.0.3.tar.gz (from https://pypi.org/simple/cannycam/), version: 0.0.3 2025-09-08T18:35:29,069 Skipping link: No binaries permitted for cannycam: https://files.pythonhosted.org/packages/5e/3f/ba3920154855ace0aab679ddb192666f194221d0dc7840f3796bf8857eae/cannycam-0.0.4-py2-none-any.whl (from https://pypi.org/simple/cannycam/) 2025-09-08T18:35:29,070 Found link https://files.pythonhosted.org/packages/67/a3/f33d6161d3ab43785ab19827de15e08b648b7ae6fa14cb332c36e5a0ae8a/cannycam-0.0.4.tar.gz (from https://pypi.org/simple/cannycam/), version: 0.0.4 2025-09-08T18:35:29,070 Skipping link: No binaries permitted for cannycam: https://files.pythonhosted.org/packages/e5/26/4b09cd1e0190c0b777223054cf3f8e3daccdb862390c10ceba930348ff62/cannycam-0.0.5-py2-none-any.whl (from https://pypi.org/simple/cannycam/) 2025-09-08T18:35:29,070 Found link https://files.pythonhosted.org/packages/59/af/be176d5c4b60f2c63fe68efe9541c21e942c3dc7e4f8d0fe71e876a117ad/cannycam-0.0.5.tar.gz (from https://pypi.org/simple/cannycam/), version: 0.0.5 2025-09-08T18:35:29,071 Fetching project page and analyzing links: https://www.piwheels.org/simple/cannycam/ 2025-09-08T18:35:29,072 Getting page https://www.piwheels.org/simple/cannycam/ 2025-09-08T18:35:29,073 Found index url https://www.piwheels.org/simple/ 2025-09-08T18:35:29,170 Fetched page https://www.piwheels.org/simple/cannycam/ as text/html 2025-09-08T18:35:29,172 Skipping link: No binaries permitted for cannycam: https://archive1.piwheels.org/simple/cannycam/cannycam-0.0.5-py3-none-any.whl#sha256=3ddbdd90acf4aeaa27080e1f8cb815b47f36f30983b39a710976cf6f031c87ac (from https://www.piwheels.org/simple/cannycam/) 2025-09-08T18:35:29,172 Skipping link: No binaries permitted for cannycam: https://archive1.piwheels.org/simple/cannycam/cannycam-0.0.4-py3-none-any.whl#sha256=d86695882c796c539295b3accad1b01ba018bd552f36fd48bb761dbc1144289e (from https://www.piwheels.org/simple/cannycam/) 2025-09-08T18:35:29,172 Skipping link: No binaries permitted for cannycam: https://archive1.piwheels.org/simple/cannycam/cannycam-0.0.3-py3-none-any.whl#sha256=69a7fcadd10cc400c270eca8498ba5897f6eeecc23fce9f3331c066c1bfd302f (from https://www.piwheels.org/simple/cannycam/) 2025-09-08T18:35:29,173 Skipping link: not a file: https://www.piwheels.org/simple/cannycam/ 2025-09-08T18:35:29,173 Skipping link: not a file: https://pypi.org/simple/cannycam/ 2025-09-08T18:35:29,199 Given no hashes to check 1 links for project 'cannycam': discarding no candidates 2025-09-08T18:35:29,200 Collecting cannycam==0.0.2 2025-09-08T18:35:29,202 Created temporary directory: /tmp/pip-unpack-tqm2ocbd 2025-09-08T18:35:29,338 Downloading cannycam-0.0.2.tar.gz (19 kB) 2025-09-08T18:35:29,372 Added cannycam==0.0.2 from https://files.pythonhosted.org/packages/63/e4/151e07572108aaebd8d55d49dff3c65f9f17c8e10ec6a71d22151ff2ce1d/cannycam-0.0.2.tar.gz to build tracker '/tmp/pip-build-tracker-tcpws5rx' 2025-09-08T18:35:29,373 Running setup.py (path:/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/setup.py) egg_info for package cannycam 2025-09-08T18:35:29,373 Created temporary directory: /tmp/pip-pip-egg-info-gj4txtbp 2025-09-08T18:35:29,373 Preparing metadata (setup.py): started 2025-09-08T18:35:29,374 Running command python setup.py egg_info 2025-09-08T18:35:29,895 /tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/versioneer.py:564: SyntaxWarning: invalid escape sequence '\s' 2025-09-08T18:35:29,895 mo = re.search(r'=\s*"(.*)"', line) 2025-09-08T18:35:29,918 Traceback (most recent call last): 2025-09-08T18:35:29,920 File "", line 2, in 2025-09-08T18:35:29,920 exec(compile(''' 2025-09-08T18:35:29,920 ~~~~^^^^^^^^^^^^ 2025-09-08T18:35:29,920 # This is -- a caller that pip uses to run setup.py 2025-09-08T18:35:29,921 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:29,921 ...<32 lines>... 2025-09-08T18:35:29,921 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T18:35:29,921 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:29,921 ''' % ('/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/setup.py',), "", "exec")) 2025-09-08T18:35:29,921 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:29,921 File "", line 35, in 2025-09-08T18:35:29,921 File "/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/setup.py", line 10, in 2025-09-08T18:35:29,922 version=versioneer.get_version(), 2025-09-08T18:35:29,922 ~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T18:35:29,922 File "/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/versioneer.py", line 1480, in get_version 2025-09-08T18:35:29,922 return get_versions()["version"] 2025-09-08T18:35:29,922 ~~~~~~~~~~~~^^ 2025-09-08T18:35:29,922 File "/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/versioneer.py", line 1412, in get_versions 2025-09-08T18:35:29,922 cfg = get_config_from_root(root) 2025-09-08T18:35:29,922 File "/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/versioneer.py", line 342, in get_config_from_root 2025-09-08T18:35:29,923 parser = configparser.SafeConfigParser() 2025-09-08T18:35:29,923 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:29,923 AttributeError: module 'configparser' has no attribute 'SafeConfigParser'. Did you mean: 'RawConfigParser'? 2025-09-08T18:35:30,007 ERROR: python setup.py egg_info exited with 1 2025-09-08T18:35:30,019 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T18:35:30,019 exec(compile('"'"''"'"''"'"' 2025-09-08T18:35:30,019 # This is -- a caller that pip uses to run setup.py 2025-09-08T18:35:30,019 # 2025-09-08T18:35:30,019 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T18:35:30,019 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T18:35:30,019 # - It provides a clear error message when setuptools is not installed. 2025-09-08T18:35:30,019 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T18:35:30,019 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T18:35:30,019 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T18:35:30,019 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T18:35:30,019 import os, sys, tokenize, traceback 2025-09-08T18:35:30,019 2025-09-08T18:35:30,019 try: 2025-09-08T18:35:30,019 import setuptools 2025-09-08T18:35:30,019 except ImportError: 2025-09-08T18:35:30,019 print( 2025-09-08T18:35:30,019 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T18:35:30,019 "the build environment with exception:", 2025-09-08T18:35:30,019 file=sys.stderr, 2025-09-08T18:35:30,019 ) 2025-09-08T18:35:30,019 traceback.print_exc() 2025-09-08T18:35:30,019 sys.exit(1) 2025-09-08T18:35:30,019 2025-09-08T18:35:30,019 __file__ = %r 2025-09-08T18:35:30,019 sys.argv[0] = __file__ 2025-09-08T18:35:30,019 2025-09-08T18:35:30,019 if os.path.exists(__file__): 2025-09-08T18:35:30,019 filename = __file__ 2025-09-08T18:35:30,019 with tokenize.open(__file__) as f: 2025-09-08T18:35:30,019 setup_py_code = f.read() 2025-09-08T18:35:30,019 else: 2025-09-08T18:35:30,019 filename = "" 2025-09-08T18:35:30,019 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T18:35:30,019 2025-09-08T18:35:30,019 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T18:35:30,019 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-gj4txtbp[/] 2025-09-08T18:35:30,020 [bold magenta]cwd[/]: /tmp/pip-wheel-nsw1vx_j/cannycam_f7bc018905fc466385ffc5bb078ffd90/ 2025-09-08T18:35:30,020 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T18:35:30,021 ERROR: metadata generation failed 2025-09-08T18:35:30,028 Exception information: 2025-09-08T18:35:30,028 Traceback (most recent call last): 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T18:35:30,028 call_subprocess( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 args, 2025-09-08T18:35:30,028 ^^^^^ 2025-09-08T18:35:30,028 ...<2 lines>... 2025-09-08T18:35:30,028 spinner=spinner, 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T18:35:30,028 raise error 2025-09-08T18:35:30,028 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T18:35:30,028 2025-09-08T18:35:30,028 The above exception was the direct cause of the following exception: 2025-09-08T18:35:30,028 2025-09-08T18:35:30,028 Traceback (most recent call last): 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T18:35:30,028 status = _inner_run() 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T18:35:30,028 return self.run(options, args) 2025-09-08T18:35:30,028 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T18:35:30,028 return func(self, options, args) 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T18:35:30,028 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T18:35:30,028 result = self._result = resolver.resolve( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T18:35:30,028 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T18:35:30,028 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T18:35:30,028 if not criterion.candidates: 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T18:35:30,028 return bool(self._sequence) 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T18:35:30,028 self._bool = any(self) 2025-09-08T18:35:30,028 ~~~^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T18:35:30,028 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T18:35:30,028 ^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T18:35:30,028 candidate = func() 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T18:35:30,028 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 link, template, name, version 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T18:35:30,028 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 link, 2025-09-08T18:35:30,028 ^^^^^ 2025-09-08T18:35:30,028 ...<3 lines>... 2025-09-08T18:35:30,028 version=version, 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T18:35:30,028 super().__init__( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 link=link, 2025-09-08T18:35:30,028 ^^^^^^^^^^ 2025-09-08T18:35:30,028 ...<4 lines>... 2025-09-08T18:35:30,028 version=version, 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T18:35:30,028 self.dist = self._prepare() 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T18:35:30,028 dist = self._prepare_distribution() 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T18:35:30,028 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T18:35:30,028 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T18:35:30,028 dist = _get_prepared_distribution( 2025-09-08T18:35:30,028 req, 2025-09-08T18:35:30,028 ...<3 lines>... 2025-09-08T18:35:30,028 self.check_build_deps, 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T18:35:30,028 abstract_dist.prepare_distribution_metadata( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 finder, build_isolation, check_build_deps 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T18:35:30,028 self.req.prepare_metadata() 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T18:35:30,028 self.metadata_directory = generate_metadata_legacy( 2025-09-08T18:35:30,028 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T18:35:30,028 build_env=self.build_env, 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ...<3 lines>... 2025-09-08T18:35:30,028 details=details, 2025-09-08T18:35:30,028 ^^^^^^^^^^^^^^^^ 2025-09-08T18:35:30,028 ) 2025-09-08T18:35:30,028 ^ 2025-09-08T18:35:30,028 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T18:35:30,028 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T18:35:30,028 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T18:35:30,050 Removed cannycam==0.0.2 from https://files.pythonhosted.org/packages/63/e4/151e07572108aaebd8d55d49dff3c65f9f17c8e10ec6a71d22151ff2ce1d/cannycam-0.0.2.tar.gz from build tracker '/tmp/pip-build-tracker-tcpws5rx' 2025-09-08T18:35:30,050 Removed build tracker: '/tmp/pip-build-tracker-tcpws5rx'