2025-09-09T20:34:11,680 Created temporary directory: /tmp/pip-build-tracker-jv0dofb3 2025-09-09T20:34:11,681 Initialized build tracking at /tmp/pip-build-tracker-jv0dofb3 2025-09-09T20:34:11,682 Created build tracker: /tmp/pip-build-tracker-jv0dofb3 2025-09-09T20:34:11,682 Entered build tracker: /tmp/pip-build-tracker-jv0dofb3 2025-09-09T20:34:11,683 Created temporary directory: /tmp/pip-wheel-4pngey8d 2025-09-09T20:34:11,690 Created temporary directory: /tmp/pip-ephem-wheel-cache-2_cdg03d 2025-09-09T20:34:11,810 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-09T20:34:11,816 2 location(s) to search for versions of py-mcws: 2025-09-09T20:34:11,816 * https://pypi.org/simple/py-mcws/ 2025-09-09T20:34:11,816 * https://www.piwheels.org/simple/py-mcws/ 2025-09-09T20:34:11,817 Fetching project page and analyzing links: https://pypi.org/simple/py-mcws/ 2025-09-09T20:34:11,818 Getting page https://pypi.org/simple/py-mcws/ 2025-09-09T20:34:11,821 Found index url https://pypi.org/simple/ 2025-09-09T20:34:11,953 Fetched page https://pypi.org/simple/py-mcws/ as application/vnd.pypi.simple.v1+json 2025-09-09T20:34:11,958 Found link https://files.pythonhosted.org/packages/93/71/3f7c80a6335951fa0fe7c341050aa2411e1f69257f9f12604617e4b657da/py-mcws-1.0.0.tar.gz (from https://pypi.org/simple/py-mcws/), version: 1.0.0 2025-09-09T20:34:11,959 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/20/b9/48d22ae3bd0158fd85345a4472ae4a7c2b1229b2677b7ab10f2011a51549/py_mcws-1.0.0-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,960 Found link https://files.pythonhosted.org/packages/70/2d/2c5d8e7392d8e37286d6509e98b156f4aec68e8ad890bd80240c816025ed/py-mcws-1.0.2.tar.gz (from https://pypi.org/simple/py-mcws/), version: 1.0.2 2025-09-09T20:34:11,960 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/aa/e6/044ca4e5e2f5de90caa530acc3be9a427bf00d47659e236f7871309fae47/py_mcws-1.0.2-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,961 Found link https://files.pythonhosted.org/packages/5a/e5/ef8f6d502ed5b815ba238704f74c5af898f48a105cb5a2d92981b8d166d9/py-mcws-1.1.0.tar.gz (from https://pypi.org/simple/py-mcws/), version: 1.1.0 2025-09-09T20:34:11,962 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/fc/b5/05ff3195f6eb0db1a1c19e2ffe55e8d20f89a04dea5fc35bfdee68761889/py_mcws-1.1.0-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,963 Found link https://files.pythonhosted.org/packages/ce/07/96aa8ffba589c5b5bae843d3e6270d7e29e9876dd9bc0d369cb3490b02c0/py-mcws-1.1.2.tar.gz (from https://pypi.org/simple/py-mcws/), version: 1.1.2 2025-09-09T20:34:11,963 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/c5/5c/fc18d871d71cbc9f52dbfb3d985b9f0d9d3eb4e1b464b2a7912ec82c7071/py_mcws-1.1.2-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,964 Found link https://files.pythonhosted.org/packages/a9/9e/278a9a0d43ca34210109f634a791bc736d5bed11f1f39d977e33fccf5d4f/py-mcws-2.0.0.tar.gz (from https://pypi.org/simple/py-mcws/), version: 2.0.0 2025-09-09T20:34:11,965 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/29/d1/f1053aa3f6ee52c63f9174e874c72cacdff1df55a7f9948d679abacb675c/py_mcws-2.0.0-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,965 Found link https://files.pythonhosted.org/packages/c8/46/8e339db2ac74b458a243b36e660d0c8744fa7467bf3c6469c88265a3da3b/py-mcws-2.0.1.tar.gz (from https://pypi.org/simple/py-mcws/), version: 2.0.1 2025-09-09T20:34:11,966 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/ee/8e/e43b6fef5a452b7690af722331500c54b6fd6da8c80f74b9010432b9a709/py_mcws-2.0.1-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,967 Found link https://files.pythonhosted.org/packages/bd/be/7493949059641d203227022c5703d31d581beafaf66045c3fc5e2c533212/py-mcws-2.0.2.tar.gz (from https://pypi.org/simple/py-mcws/), version: 2.0.2 2025-09-09T20:34:11,967 Skipping link: No binaries permitted for py-mcws: https://files.pythonhosted.org/packages/15/14/7fc7964b0bcf375bb06cec40f5c6733919a5acb4c977e650e3d79cb889c1/py_mcws-2.0.2-py3-none-any.whl (from https://pypi.org/simple/py-mcws/) 2025-09-09T20:34:11,968 Fetching project page and analyzing links: https://www.piwheels.org/simple/py-mcws/ 2025-09-09T20:34:11,969 Getting page https://www.piwheels.org/simple/py-mcws/ 2025-09-09T20:34:11,971 Found index url https://www.piwheels.org/simple/ 2025-09-09T20:34:12,105 Fetched page https://www.piwheels.org/simple/py-mcws/ as text/html 2025-09-09T20:34:12,108 Skipping link: No binaries permitted for py-mcws: https://archive1.piwheels.org/simple/py-mcws/py_mcws-2.0.2-py3-none-any.whl#sha256=72125bed4dd4033ba9d05a2fb642ac5a26d30d12c775c4d2ca712704cdd67da7 (from https://www.piwheels.org/simple/py-mcws/) 2025-09-09T20:34:12,109 Skipping link: No binaries permitted for py-mcws: https://archive1.piwheels.org/simple/py-mcws/py_mcws-2.0.1-py3-none-any.whl#sha256=a7559c69719996ef3a76ccae4dc4cdfecaa42964928ca32ae0bae2e8a99639b9 (from https://www.piwheels.org/simple/py-mcws/) 2025-09-09T20:34:12,109 Skipping link: No binaries permitted for py-mcws: https://archive1.piwheels.org/simple/py-mcws/py_mcws-2.0.0-py3-none-any.whl#sha256=c90c059e4733b2d73a829b63d280fa379944086b20184e3b8eb44f40de7cb7f0 (from https://www.piwheels.org/simple/py-mcws/) 2025-09-09T20:34:12,110 Skipping link: No binaries permitted for py-mcws: https://archive1.piwheels.org/simple/py-mcws/py_mcws-1.1.2-py3-none-any.whl#sha256=dcc9976dc728544a2a77afa2bc2b4e44584a3c6f864551d4109c60564ceba727 (from https://www.piwheels.org/simple/py-mcws/) 2025-09-09T20:34:12,111 Skipping link: not a file: https://www.piwheels.org/simple/py-mcws/ 2025-09-09T20:34:12,111 Skipping link: not a file: https://pypi.org/simple/py-mcws/ 2025-09-09T20:34:12,162 Given no hashes to check 1 links for project 'py-mcws': discarding no candidates 2025-09-09T20:34:12,164 Collecting py-mcws==1.0.2 2025-09-09T20:34:12,167 Created temporary directory: /tmp/pip-unpack-r55jztqy 2025-09-09T20:34:12,537 Downloading py-mcws-1.0.2.tar.gz (4.0 kB) 2025-09-09T20:34:12,575 Added py-mcws==1.0.2 from https://files.pythonhosted.org/packages/70/2d/2c5d8e7392d8e37286d6509e98b156f4aec68e8ad890bd80240c816025ed/py-mcws-1.0.2.tar.gz to build tracker '/tmp/pip-build-tracker-jv0dofb3' 2025-09-09T20:34:12,577 Running setup.py (path:/tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/setup.py) egg_info for package py-mcws 2025-09-09T20:34:12,578 Created temporary directory: /tmp/pip-pip-egg-info-27apaf3l 2025-09-09T20:34:12,579 Preparing metadata (setup.py): started 2025-09-09T20:34:12,581 Running command python setup.py egg_info 2025-09-09T20:34:13,615 Traceback (most recent call last): 2025-09-09T20:34:13,619 File "", line 2, in 2025-09-09T20:34:13,619 exec(compile(''' 2025-09-09T20:34:13,620 ~~~~^^^^^^^^^^^^ 2025-09-09T20:34:13,620 # This is -- a caller that pip uses to run setup.py 2025-09-09T20:34:13,621 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,621 ...<32 lines>... 2025-09-09T20:34:13,622 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T20:34:13,622 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,623 ''' % ('/tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/setup.py',), "", "exec")) 2025-09-09T20:34:13,623 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,624 File "", line 35, in 2025-09-09T20:34:13,625 File "/tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/setup.py", line 23, in 2025-09-09T20:34:13,625 install_requires=_requires_from_file('requirements.txt'), 2025-09-09T20:34:13,626 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,626 File "/tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/setup.py", line 12, in _requires_from_file 2025-09-09T20:34:13,627 return open(filename).read().splitlines() 2025-09-09T20:34:13,627 ~~~~^^^^^^^^^^ 2025-09-09T20:34:13,628 FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt' 2025-09-09T20:34:13,787 ERROR: python setup.py egg_info exited with 1 2025-09-09T20:34:13,809 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-09T20:34:13,809 exec(compile('"'"''"'"''"'"' 2025-09-09T20:34:13,809 # This is -- a caller that pip uses to run setup.py 2025-09-09T20:34:13,809 # 2025-09-09T20:34:13,809 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-09T20:34:13,809 # import from `distutils.core` to work with newer packaging standards. 2025-09-09T20:34:13,809 # - It provides a clear error message when setuptools is not installed. 2025-09-09T20:34:13,809 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-09T20:34:13,809 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-09T20:34:13,809 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-09T20:34:13,809 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-09T20:34:13,809 import os, sys, tokenize, traceback 2025-09-09T20:34:13,809 2025-09-09T20:34:13,809 try: 2025-09-09T20:34:13,809 import setuptools 2025-09-09T20:34:13,809 except ImportError: 2025-09-09T20:34:13,809 print( 2025-09-09T20:34:13,809 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-09T20:34:13,809 "the build environment with exception:", 2025-09-09T20:34:13,809 file=sys.stderr, 2025-09-09T20:34:13,809 ) 2025-09-09T20:34:13,809 traceback.print_exc() 2025-09-09T20:34:13,809 sys.exit(1) 2025-09-09T20:34:13,809 2025-09-09T20:34:13,809 __file__ = %r 2025-09-09T20:34:13,809 sys.argv[0] = __file__ 2025-09-09T20:34:13,809 2025-09-09T20:34:13,809 if os.path.exists(__file__): 2025-09-09T20:34:13,809 filename = __file__ 2025-09-09T20:34:13,809 with tokenize.open(__file__) as f: 2025-09-09T20:34:13,809 setup_py_code = f.read() 2025-09-09T20:34:13,809 else: 2025-09-09T20:34:13,809 filename = "" 2025-09-09T20:34:13,809 setup_py_code = "from setuptools import setup; setup()" 2025-09-09T20:34:13,809 2025-09-09T20:34:13,809 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T20:34:13,809 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-27apaf3l[/] 2025-09-09T20:34:13,810 [bold magenta]cwd[/]: /tmp/pip-wheel-4pngey8d/py-mcws_8b46d3084be648778c46480a8189a135/ 2025-09-09T20:34:13,811 Preparing metadata (setup.py): finished with status 'error' 2025-09-09T20:34:13,813 ERROR: metadata generation failed 2025-09-09T20:34:13,825 Exception information: 2025-09-09T20:34:13,825 Traceback (most recent call last): 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-09T20:34:13,825 call_subprocess( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 args, 2025-09-09T20:34:13,825 ^^^^^ 2025-09-09T20:34:13,825 ...<2 lines>... 2025-09-09T20:34:13,825 spinner=spinner, 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-09T20:34:13,825 raise error 2025-09-09T20:34:13,825 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-09T20:34:13,825 2025-09-09T20:34:13,825 The above exception was the direct cause of the following exception: 2025-09-09T20:34:13,825 2025-09-09T20:34:13,825 Traceback (most recent call last): 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-09T20:34:13,825 status = _inner_run() 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-09T20:34:13,825 return self.run(options, args) 2025-09-09T20:34:13,825 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-09T20:34:13,825 return func(self, options, args) 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-09T20:34:13,825 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-09T20:34:13,825 result = self._result = resolver.resolve( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-09T20:34:13,825 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-09T20:34:13,825 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-09T20:34:13,825 if not criterion.candidates: 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-09T20:34:13,825 return bool(self._sequence) 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-09T20:34:13,825 self._bool = any(self) 2025-09-09T20:34:13,825 ~~~^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-09T20:34:13,825 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-09T20:34:13,825 ^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-09T20:34:13,825 candidate = func() 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-09T20:34:13,825 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 link, template, name, version 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-09T20:34:13,825 self._link_candidate_cache[link] = LinkCandidate( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 link, 2025-09-09T20:34:13,825 ^^^^^ 2025-09-09T20:34:13,825 ...<3 lines>... 2025-09-09T20:34:13,825 version=version, 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-09T20:34:13,825 super().__init__( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 link=link, 2025-09-09T20:34:13,825 ^^^^^^^^^^ 2025-09-09T20:34:13,825 ...<4 lines>... 2025-09-09T20:34:13,825 version=version, 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-09T20:34:13,825 self.dist = self._prepare() 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-09T20:34:13,825 dist = self._prepare_distribution() 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-09T20:34:13,825 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-09T20:34:13,825 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-09T20:34:13,825 dist = _get_prepared_distribution( 2025-09-09T20:34:13,825 req, 2025-09-09T20:34:13,825 ...<3 lines>... 2025-09-09T20:34:13,825 self.check_build_deps, 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-09T20:34:13,825 abstract_dist.prepare_distribution_metadata( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 finder, build_isolation, check_build_deps 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-09T20:34:13,825 self.req.prepare_metadata() 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-09T20:34:13,825 self.metadata_directory = generate_metadata_legacy( 2025-09-09T20:34:13,825 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-09T20:34:13,825 build_env=self.build_env, 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ...<3 lines>... 2025-09-09T20:34:13,825 details=details, 2025-09-09T20:34:13,825 ^^^^^^^^^^^^^^^^ 2025-09-09T20:34:13,825 ) 2025-09-09T20:34:13,825 ^ 2025-09-09T20:34:13,825 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-09T20:34:13,825 raise MetadataGenerationFailed(package_details=details) from error 2025-09-09T20:34:13,825 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-09T20:34:13,877 Removed py-mcws==1.0.2 from https://files.pythonhosted.org/packages/70/2d/2c5d8e7392d8e37286d6509e98b156f4aec68e8ad890bd80240c816025ed/py-mcws-1.0.2.tar.gz from build tracker '/tmp/pip-build-tracker-jv0dofb3' 2025-09-09T20:34:13,877 Removed build tracker: '/tmp/pip-build-tracker-jv0dofb3'