2025-09-08T05:43:03,570 Created temporary directory: /tmp/pip-build-tracker-ho4hx7tn 2025-09-08T05:43:03,571 Initialized build tracking at /tmp/pip-build-tracker-ho4hx7tn 2025-09-08T05:43:03,571 Created build tracker: /tmp/pip-build-tracker-ho4hx7tn 2025-09-08T05:43:03,571 Entered build tracker: /tmp/pip-build-tracker-ho4hx7tn 2025-09-08T05:43:03,571 Created temporary directory: /tmp/pip-wheel-hf6e2238 2025-09-08T05:43:03,574 Created temporary directory: /tmp/pip-ephem-wheel-cache-9okw11a2 2025-09-08T05:43:03,632 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T05:43:03,635 2 location(s) to search for versions of gviewer: 2025-09-08T05:43:03,635 * https://pypi.org/simple/gviewer/ 2025-09-08T05:43:03,635 * https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:03,635 Fetching project page and analyzing links: https://pypi.org/simple/gviewer/ 2025-09-08T05:43:03,635 Getting page https://pypi.org/simple/gviewer/ 2025-09-08T05:43:03,636 Found index url https://pypi.org/simple/ 2025-09-08T05:43:03,707 Fetched page https://pypi.org/simple/gviewer/ as application/vnd.pypi.simple.v1+json 2025-09-08T05:43:03,711 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:03,711 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:03,711 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:03,711 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:03,712 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:03,712 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:03,712 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:03,712 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:03,712 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:03,712 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:03,713 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:03,713 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:03,713 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:03,713 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:03,713 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:03,713 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:03,714 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:03,714 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:03,714 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:03,714 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:03,714 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:03,714 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:03,715 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:03,715 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:03,715 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:03,715 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:03,715 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:03,715 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:03,716 Fetching project page and analyzing links: https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:03,716 Getting page https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:03,717 Found index url https://www.piwheels.org/simple/ 2025-09-08T05:43:03,811 Fetched page https://www.piwheels.org/simple/gviewer/ as text/html 2025-09-08T05:43:03,812 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:03,812 Skipping link: not a file: https://www.piwheels.org/simple/gviewer/ 2025-09-08T05:43:03,813 Skipping link: not a file: https://pypi.org/simple/gviewer/ 2025-09-08T05:43:03,838 Given no hashes to check 1 links for project 'gviewer': discarding no candidates 2025-09-08T05:43:03,840 Collecting gviewer==2.1.2 2025-09-08T05:43:03,841 Created temporary directory: /tmp/pip-unpack-ktstt1wc 2025-09-08T05:43:04,036 Downloading gviewer-2.1.2.tar.gz (17 kB) 2025-09-08T05:43:04,082 Added gviewer==2.1.2 from https://files.pythonhosted.org/packages/47/d5/3d37f87757df6755fe0815cb7e6fbf42574a706969aec4a39311762db98e/gviewer-2.1.2.tar.gz to build tracker '/tmp/pip-build-tracker-ho4hx7tn' 2025-09-08T05:43:04,083 Running setup.py (path:/tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/setup.py) egg_info for package gviewer 2025-09-08T05:43:04,083 Created temporary directory: /tmp/pip-pip-egg-info-ouhfwomz 2025-09-08T05:43:04,083 Preparing metadata (setup.py): started 2025-09-08T05:43:04,084 Running command python setup.py egg_info 2025-09-08T05:43:04,592 Traceback (most recent call last): 2025-09-08T05:43:04,593 File "", line 2, in 2025-09-08T05:43:04,593 exec(compile(''' 2025-09-08T05:43:04,593 ~~~~^^^^^^^^^^^^ 2025-09-08T05:43:04,594 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:43:04,594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,594 ...<32 lines>... 2025-09-08T05:43:04,594 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:43:04,594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,594 ''' % ('/tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/setup.py',), "", "exec")) 2025-09-08T05:43:04,594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,594 File "", line 35, in 2025-09-08T05:43:04,594 File "/tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/setup.py", line 8, in 2025-09-08T05:43:04,595 with open(os.path.join(here, 'README.md'), encoding='utf-8') as f: 2025-09-08T05:43:04,595 ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,595 File "", line 921, in open 2025-09-08T05:43:04,595 FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/README.md' 2025-09-08T05:43:04,678 ERROR: python setup.py egg_info exited with 1 2025-09-08T05:43:04,690 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T05:43:04,690 exec(compile('"'"''"'"''"'"' 2025-09-08T05:43:04,690 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:43:04,690 # 2025-09-08T05:43:04,690 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T05:43:04,690 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T05:43:04,690 # - It provides a clear error message when setuptools is not installed. 2025-09-08T05:43:04,690 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T05:43:04,690 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T05:43:04,690 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T05:43:04,690 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T05:43:04,690 import os, sys, tokenize, traceback 2025-09-08T05:43:04,690 2025-09-08T05:43:04,690 try: 2025-09-08T05:43:04,690 import setuptools 2025-09-08T05:43:04,690 except ImportError: 2025-09-08T05:43:04,690 print( 2025-09-08T05:43:04,690 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T05:43:04,690 "the build environment with exception:", 2025-09-08T05:43:04,690 file=sys.stderr, 2025-09-08T05:43:04,690 ) 2025-09-08T05:43:04,690 traceback.print_exc() 2025-09-08T05:43:04,690 sys.exit(1) 2025-09-08T05:43:04,690 2025-09-08T05:43:04,690 __file__ = %r 2025-09-08T05:43:04,690 sys.argv[0] = __file__ 2025-09-08T05:43:04,690 2025-09-08T05:43:04,690 if os.path.exists(__file__): 2025-09-08T05:43:04,690 filename = __file__ 2025-09-08T05:43:04,690 with tokenize.open(__file__) as f: 2025-09-08T05:43:04,690 setup_py_code = f.read() 2025-09-08T05:43:04,690 else: 2025-09-08T05:43:04,690 filename = "" 2025-09-08T05:43:04,690 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T05:43:04,690 2025-09-08T05:43:04,690 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:43:04,690 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-ouhfwomz[/] 2025-09-08T05:43:04,690 [bold magenta]cwd[/]: /tmp/pip-wheel-hf6e2238/gviewer_2459c143bba94b239b496ecda9d9c2f6/ 2025-09-08T05:43:04,690 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T05:43:04,691 ERROR: metadata generation failed 2025-09-08T05:43:04,696 Exception information: 2025-09-08T05:43:04,696 Traceback (most recent call last): 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T05:43:04,696 call_subprocess( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 args, 2025-09-08T05:43:04,696 ^^^^^ 2025-09-08T05:43:04,696 ...<2 lines>... 2025-09-08T05:43:04,696 spinner=spinner, 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T05:43:04,696 raise error 2025-09-08T05:43:04,696 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T05:43:04,696 2025-09-08T05:43:04,696 The above exception was the direct cause of the following exception: 2025-09-08T05:43:04,696 2025-09-08T05:43:04,696 Traceback (most recent call last): 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T05:43:04,696 status = _inner_run() 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T05:43:04,696 return self.run(options, args) 2025-09-08T05:43:04,696 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T05:43:04,696 return func(self, options, args) 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T05:43:04,696 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T05:43:04,696 result = self._result = resolver.resolve( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T05:43:04,696 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T05:43:04,696 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T05:43:04,696 if not criterion.candidates: 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T05:43:04,696 return bool(self._sequence) 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T05:43:04,696 self._bool = any(self) 2025-09-08T05:43:04,696 ~~~^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T05:43:04,696 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T05:43:04,696 ^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T05:43:04,696 candidate = func() 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T05:43:04,696 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 link, template, name, version 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T05:43:04,696 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 link, 2025-09-08T05:43:04,696 ^^^^^ 2025-09-08T05:43:04,696 ...<3 lines>... 2025-09-08T05:43:04,696 version=version, 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T05:43:04,696 super().__init__( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 link=link, 2025-09-08T05:43:04,696 ^^^^^^^^^^ 2025-09-08T05:43:04,696 ...<4 lines>... 2025-09-08T05:43:04,696 version=version, 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T05:43:04,696 self.dist = self._prepare() 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T05:43:04,696 dist = self._prepare_distribution() 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T05:43:04,696 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T05:43:04,696 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T05:43:04,696 dist = _get_prepared_distribution( 2025-09-08T05:43:04,696 req, 2025-09-08T05:43:04,696 ...<3 lines>... 2025-09-08T05:43:04,696 self.check_build_deps, 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T05:43:04,696 abstract_dist.prepare_distribution_metadata( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 finder, build_isolation, check_build_deps 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T05:43:04,696 self.req.prepare_metadata() 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T05:43:04,696 self.metadata_directory = generate_metadata_legacy( 2025-09-08T05:43:04,696 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T05:43:04,696 build_env=self.build_env, 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ...<3 lines>... 2025-09-08T05:43:04,696 details=details, 2025-09-08T05:43:04,696 ^^^^^^^^^^^^^^^^ 2025-09-08T05:43:04,696 ) 2025-09-08T05:43:04,696 ^ 2025-09-08T05:43:04,696 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T05:43:04,696 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T05:43:04,696 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T05:43:04,716 Removed gviewer==2.1.2 from https://files.pythonhosted.org/packages/47/d5/3d37f87757df6755fe0815cb7e6fbf42574a706969aec4a39311762db98e/gviewer-2.1.2.tar.gz from build tracker '/tmp/pip-build-tracker-ho4hx7tn' 2025-09-08T05:43:04,716 Removed build tracker: '/tmp/pip-build-tracker-ho4hx7tn'