2025-09-08T05:43:26,570 Created temporary directory: /tmp/pip-build-tracker-gfebnrrv 2025-09-08T05:43:26,570 Initialized build tracking at /tmp/pip-build-tracker-gfebnrrv 2025-09-08T05:43:26,570 Created build tracker: /tmp/pip-build-tracker-gfebnrrv 2025-09-08T05:43:26,571 Entered build tracker: /tmp/pip-build-tracker-gfebnrrv 2025-09-08T05:43:26,571 Created temporary directory: /tmp/pip-wheel-mih3sljv 2025-09-08T05:43:26,574 Created temporary directory: /tmp/pip-ephem-wheel-cache-8mois3_0 2025-09-08T05:43:26,633 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T05:43:26,635 2 location(s) to search for versions of gviewer: 2025-09-08T05:43:26,635 * https://pypi.org/simple/gviewer/ 2025-09-08T05:43:26,635 * https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:26,635 Fetching project page and analyzing links: https://pypi.org/simple/gviewer/ 2025-09-08T05:43:26,636 Getting page https://pypi.org/simple/gviewer/ 2025-09-08T05:43:26,637 Found index url https://pypi.org/simple/ 2025-09-08T05:43:26,709 Fetched page https://pypi.org/simple/gviewer/ as application/vnd.pypi.simple.v1+json 2025-09-08T05:43:26,713 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/bd/a3/4262f60c5fe7dd8184473740371b71a1c00f02f37ae9c86187db30f7087b/gviewer-1.0.0-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,713 Found link https://files.pythonhosted.org/packages/c1/ec/4568d8dc78a9d9afd83b09674f4d34af272028cd26fd0212ec2989c9500e/gviewer-1.0.0.tar.gz (from https://pypi.org/simple/gviewer/), version: 1.0.0 2025-09-08T05:43:26,713 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/47/b0/6b77ee64bbe33bad5c7a3634e522f59be411d57604a3c404630b96002e44/gviewer-1.1.0-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,714 Found link https://files.pythonhosted.org/packages/30/32/ee1a4ab001ce7f14fb9acb866141ef40e7bdd8f47b60388394db9bc14d0b/gviewer-1.1.0.tar.gz (from https://pypi.org/simple/gviewer/), version: 1.1.0 2025-09-08T05:43:26,714 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/36/77/b49d736d7ee4e16ae405c30925b7b5ef43b3f15074e8df614510a1f3b2e7/gviewer-2.0.0-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,714 Found link https://files.pythonhosted.org/packages/fb/ba/2c527ae379ea0e8e66b468e119e26db90477579b8c1b5c406151f91a8eb3/gviewer-2.0.0.tar.gz (from https://pypi.org/simple/gviewer/), version: 2.0.0 2025-09-08T05:43:26,714 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/7b/34/d2437847851c1bbcb8a81345bfd767cc9e8e61f728a4413744d2871ddfa9/gviewer-2.1.0-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,714 Found link https://files.pythonhosted.org/packages/7f/a6/3c1b0b63d8d792b7ecc84fbbf4f81ba1adf323b0dc1a0eb127907a99c360/gviewer-2.1.0.tar.gz (from https://pypi.org/simple/gviewer/), version: 2.1.0 2025-09-08T05:43:26,715 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/24/2d/f7323d36498aa659c5f795441402e0aba1ddce18783b03053e25d69ad944/gviewer-2.1.1-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,715 Found link https://files.pythonhosted.org/packages/72/f6/853ef0179b6b217d4ec27839b20fcb7fd884ca2a76effaf6b8c936cd5274/gviewer-2.1.1.tar.gz (from https://pypi.org/simple/gviewer/), version: 2.1.1 2025-09-08T05:43:26,715 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/50/80/713f9559752f43c3207aeb02768a6698f74fb3d9310fa0813c0bce06f1a8/gviewer-2.1.2-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,715 Found link https://files.pythonhosted.org/packages/47/d5/3d37f87757df6755fe0815cb7e6fbf42574a706969aec4a39311762db98e/gviewer-2.1.2.tar.gz (from https://pypi.org/simple/gviewer/), version: 2.1.2 2025-09-08T05:43:26,715 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/a1/74/f3871308cc28124b9f6d59afb85e963c5ae93b637cebe0376f19dd14b96d/gviewer-2.1.3-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,716 Found link https://files.pythonhosted.org/packages/e4/9f/a4b2e5e3245aeedee92028e677a4c12080842658745beb825c6a5b8b20f9/gviewer-2.1.3.tar.gz (from https://pypi.org/simple/gviewer/), version: 2.1.3 2025-09-08T05:43:26,716 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/fe/95/7ae0fcef8fc1c8da9562557b2382a6afb29d956f3cfb97205783b3ca1402/gviewer-3.0.0-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,716 Found link https://files.pythonhosted.org/packages/96/a4/2f0ddd84dd43c9afb4b36882a010bc54f90cfb9ffcefbabe78809e481c59/gviewer-3.0.0.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.0 2025-09-08T05:43:26,716 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/55/e8/8b43696bf6a1c5ee3c7f6118085e1ec09881ff73854b3a827a7e21bafb0e/gviewer-3.0.1-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,716 Found link https://files.pythonhosted.org/packages/7a/c0/2cd14116b1a5188427e2341c6d542e34d1e43d5ec95c0fa63de960cbcbff/gviewer-3.0.1.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.1 2025-09-08T05:43:26,716 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/4f/95/6dbb8b3164fa217a421548677609b74ae99f0b6be143edab042c8cbff79a/gviewer-3.0.2-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,717 Found link https://files.pythonhosted.org/packages/9c/77/a62cfe998331074a5b509c745e41a40d3466123a6680a8e6f7107234cffe/gviewer-3.0.2.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.2 2025-09-08T05:43:26,717 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/da/42/cdf8440037c0febb20518b478b29540046848defdc4a1a0adefcc3bb3c71/gviewer-3.0.3-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,717 Found link https://files.pythonhosted.org/packages/32/eb/9604610a26cfe5a7a5da3b99303ef1f77d2841f2e9eb9d4053313a23ebf5/gviewer-3.0.3.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.3 2025-09-08T05:43:26,717 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/a5/60/73eadeef0d7708539326f7923df5ab5732490ea27357978c25c1029388ff/gviewer-3.0.4-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,717 Found link https://files.pythonhosted.org/packages/df/29/799186565f7115d9c207bc7805944addc635bdc02c085113dc9f40624258/gviewer-3.0.4.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.4 2025-09-08T05:43:26,718 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/5d/90/4bb588a966ea8e117e82ad008e258f4cbb77eba0f0d5a30f7c445b5044ab/gviewer-3.0.5-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,718 Found link https://files.pythonhosted.org/packages/bb/34/3c4b76c774e9935bd8946787d8e52588d9a941433edff1c351db28d4b471/gviewer-3.0.5.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.5 2025-09-08T05:43:26,718 Skipping link: No binaries permitted for gviewer: https://files.pythonhosted.org/packages/e9/cd/bf9d66080937ad4aeae5b4eb2704521a3bd29e92627bde6e691e7fb5bcc0/gviewer-3.0.6-py2-none-any.whl (from https://pypi.org/simple/gviewer/) 2025-09-08T05:43:26,718 Found link https://files.pythonhosted.org/packages/1b/94/d8ed9d1329a285ce362c5294c9ebf1c3efdeeb99f651688156836e6c29d6/gviewer-3.0.6.tar.gz (from https://pypi.org/simple/gviewer/), version: 3.0.6 2025-09-08T05:43:26,718 Fetching project page and analyzing links: https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:26,719 Getting page https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:26,720 Found index url https://www.piwheels.org/simple/ 2025-09-08T05:43:26,808 Fetched page https://www.piwheels.org/simple/gviewer/ as text/html 2025-09-08T05:43:26,809 Skipping link: No binaries permitted for gviewer: https://archive1.piwheels.org/simple/gviewer/gviewer-1.0.0-py3-none-any.whl#sha256=6c2eded35582aaf6d4045f4ee7df28e2a0061b10d2c8b68d13048e2d88581d12 (from https://www.piwheels.org/simple/gviewer/) 2025-09-08T05:43:26,809 Skipping link: not a file: https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:26,809 Skipping link: not a file: https://pypi.org/simple/gviewer/ 2025-09-08T05:43:26,832 Given no hashes to check 1 links for project 'gviewer': discarding no candidates 2025-09-08T05:43:26,833 Collecting gviewer==2.1.3 2025-09-08T05:43:26,835 Created temporary directory: /tmp/pip-unpack-qfsq7eyy 2025-09-08T05:43:26,972 Downloading gviewer-2.1.3.tar.gz (17 kB) 2025-09-08T05:43:27,014 Added gviewer==2.1.3 from https://files.pythonhosted.org/packages/e4/9f/a4b2e5e3245aeedee92028e677a4c12080842658745beb825c6a5b8b20f9/gviewer-2.1.3.tar.gz to build tracker '/tmp/pip-build-tracker-gfebnrrv' 2025-09-08T05:43:27,016 Running setup.py (path:/tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/setup.py) egg_info for package gviewer 2025-09-08T05:43:27,016 Created temporary directory: /tmp/pip-pip-egg-info-gdu2cl8t 2025-09-08T05:43:27,016 Preparing metadata (setup.py): started 2025-09-08T05:43:27,017 Running command python setup.py egg_info 2025-09-08T05:43:27,526 Traceback (most recent call last): 2025-09-08T05:43:27,528 File "", line 2, in 2025-09-08T05:43:27,528 exec(compile(''' 2025-09-08T05:43:27,528 ~~~~^^^^^^^^^^^^ 2025-09-08T05:43:27,528 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:43:27,528 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,529 ...<32 lines>... 2025-09-08T05:43:27,529 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:43:27,529 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,529 ''' % ('/tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/setup.py',), "", "exec")) 2025-09-08T05:43:27,529 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,529 File "", line 35, in 2025-09-08T05:43:27,529 File "/tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/setup.py", line 8, in 2025-09-08T05:43:27,529 with open(os.path.join(here, 'README.md'), encoding='utf-8') as f: 2025-09-08T05:43:27,529 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,530 File "", line 921, in open 2025-09-08T05:43:27,530 FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/README.md' 2025-09-08T05:43:27,613 ERROR: python setup.py egg_info exited with 1 2025-09-08T05:43:27,625 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T05:43:27,625 exec(compile('"'"''"'"''"'"' 2025-09-08T05:43:27,625 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:43:27,625 # 2025-09-08T05:43:27,625 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T05:43:27,625 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T05:43:27,625 # - It provides a clear error message when setuptools is not installed. 2025-09-08T05:43:27,625 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T05:43:27,625 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T05:43:27,625 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T05:43:27,625 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T05:43:27,625 import os, sys, tokenize, traceback 2025-09-08T05:43:27,625 2025-09-08T05:43:27,625 try: 2025-09-08T05:43:27,625 import setuptools 2025-09-08T05:43:27,625 except ImportError: 2025-09-08T05:43:27,625 print( 2025-09-08T05:43:27,625 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T05:43:27,625 "the build environment with exception:", 2025-09-08T05:43:27,625 file=sys.stderr, 2025-09-08T05:43:27,625 ) 2025-09-08T05:43:27,625 traceback.print_exc() 2025-09-08T05:43:27,625 sys.exit(1) 2025-09-08T05:43:27,625 2025-09-08T05:43:27,625 __file__ = %r 2025-09-08T05:43:27,625 sys.argv[0] = __file__ 2025-09-08T05:43:27,625 2025-09-08T05:43:27,625 if os.path.exists(__file__): 2025-09-08T05:43:27,625 filename = __file__ 2025-09-08T05:43:27,625 with tokenize.open(__file__) as f: 2025-09-08T05:43:27,625 setup_py_code = f.read() 2025-09-08T05:43:27,625 else: 2025-09-08T05:43:27,625 filename = "" 2025-09-08T05:43:27,625 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T05:43:27,625 2025-09-08T05:43:27,625 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:43:27,625 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-gdu2cl8t[/] 2025-09-08T05:43:27,625 [bold magenta]cwd[/]: /tmp/pip-wheel-mih3sljv/gviewer_da60fe28f12e4db3aaa1baa666ef509c/ 2025-09-08T05:43:27,626 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T05:43:27,626 ERROR: metadata generation failed 2025-09-08T05:43:27,631 Exception information: 2025-09-08T05:43:27,631 Traceback (most recent call last): 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T05:43:27,631 call_subprocess( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 args, 2025-09-08T05:43:27,631 ^^^^^ 2025-09-08T05:43:27,631 ...<2 lines>... 2025-09-08T05:43:27,631 spinner=spinner, 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T05:43:27,631 raise error 2025-09-08T05:43:27,631 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T05:43:27,631 2025-09-08T05:43:27,631 The above exception was the direct cause of the following exception: 2025-09-08T05:43:27,631 2025-09-08T05:43:27,631 Traceback (most recent call last): 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T05:43:27,631 status = _inner_run() 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T05:43:27,631 return self.run(options, args) 2025-09-08T05:43:27,631 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T05:43:27,631 return func(self, options, args) 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T05:43:27,631 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T05:43:27,631 result = self._result = resolver.resolve( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T05:43:27,631 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T05:43:27,631 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T05:43:27,631 if not criterion.candidates: 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T05:43:27,631 return bool(self._sequence) 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T05:43:27,631 self._bool = any(self) 2025-09-08T05:43:27,631 ~~~^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T05:43:27,631 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T05:43:27,631 ^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T05:43:27,631 candidate = func() 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T05:43:27,631 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 link, template, name, version 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T05:43:27,631 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 link, 2025-09-08T05:43:27,631 ^^^^^ 2025-09-08T05:43:27,631 ...<3 lines>... 2025-09-08T05:43:27,631 version=version, 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T05:43:27,631 super().__init__( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 link=link, 2025-09-08T05:43:27,631 ^^^^^^^^^^ 2025-09-08T05:43:27,631 ...<4 lines>... 2025-09-08T05:43:27,631 version=version, 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T05:43:27,631 self.dist = self._prepare() 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T05:43:27,631 dist = self._prepare_distribution() 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T05:43:27,631 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T05:43:27,631 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T05:43:27,631 dist = _get_prepared_distribution( 2025-09-08T05:43:27,631 req, 2025-09-08T05:43:27,631 ...<3 lines>... 2025-09-08T05:43:27,631 self.check_build_deps, 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T05:43:27,631 abstract_dist.prepare_distribution_metadata( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 finder, build_isolation, check_build_deps 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T05:43:27,631 self.req.prepare_metadata() 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T05:43:27,631 self.metadata_directory = generate_metadata_legacy( 2025-09-08T05:43:27,631 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:27,631 build_env=self.build_env, 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ...<3 lines>... 2025-09-08T05:43:27,631 details=details, 2025-09-08T05:43:27,631 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:27,631 ) 2025-09-08T05:43:27,631 ^ 2025-09-08T05:43:27,631 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T05:43:27,631 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T05:43:27,631 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T05:43:27,651 Removed gviewer==2.1.3 from https://files.pythonhosted.org/packages/e4/9f/a4b2e5e3245aeedee92028e677a4c12080842658745beb825c6a5b8b20f9/gviewer-2.1.3.tar.gz from build tracker '/tmp/pip-build-tracker-gfebnrrv' 2025-09-08T05:43:27,652 Removed build tracker: '/tmp/pip-build-tracker-gfebnrrv'