2025-09-12T21:20:28,925 Created temporary directory: /tmp/pip-build-tracker-da1h_eio 2025-09-12T21:20:28,925 Initialized build tracking at /tmp/pip-build-tracker-da1h_eio 2025-09-12T21:20:28,926 Created build tracker: /tmp/pip-build-tracker-da1h_eio 2025-09-12T21:20:28,926 Entered build tracker: /tmp/pip-build-tracker-da1h_eio 2025-09-12T21:20:28,926 Created temporary directory: /tmp/pip-wheel-czrm1iam 2025-09-12T21:20:28,929 Created temporary directory: /tmp/pip-ephem-wheel-cache-cvg6waqi 2025-09-12T21:20:28,993 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-12T21:20:28,995 2 location(s) to search for versions of epubcrawler: 2025-09-12T21:20:28,995 * https://pypi.org/simple/epubcrawler/ 2025-09-12T21:20:28,995 * https://www.piwheels.org/simple/epubcrawler/ 2025-09-12T21:20:28,996 Fetching project page and analyzing links: https://pypi.org/simple/epubcrawler/ 2025-09-12T21:20:28,996 Getting page https://pypi.org/simple/epubcrawler/ 2025-09-12T21:20:28,997 Found index url https://pypi.org/simple/ 2025-09-12T21:20:29,075 Fetched page https://pypi.org/simple/epubcrawler/ as application/vnd.pypi.simple.v1+json 2025-09-12T21:20:29,077 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/9f/d7/a27427cbd20bf4ff322bf866c88ae2a351d662ce85a55727709923ebb032/EpubCrawler-2023.2.14.3-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,078 Found link https://files.pythonhosted.org/packages/6e/8d/acd80096fa1b021fd391b3e25bbe709b5279df70f6949d8d00c9161c5c4b/EpubCrawler-2023.2.14.3.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.2.14.3 2025-09-12T21:20:29,079 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/9d/79/a0abc2602c4cc8edf8ca442daec12152a623c944a0a6aad605a27044db6a/EpubCrawler-2023.3.13.0-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,079 Found link https://files.pythonhosted.org/packages/c4/9e/5cc3c56db01d8258658a9f9f11982a1082cf6fa610af14b179ba8dacb840/EpubCrawler-2023.3.13.0.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.3.13.0 2025-09-12T21:20:29,079 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/ed/bc/50abf03d3f2892e4286aff89b10ffd8f723bc1c0259d8924cd11a99d4453/EpubCrawler-2023.3.13.1-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,079 Found link https://files.pythonhosted.org/packages/0d/9d/f165647cff5729fbf2850f470f981d1e920538b99abd9df740c475c0d881/EpubCrawler-2023.3.13.1.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.3.13.1 2025-09-12T21:20:29,080 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/24/88/ab3c18c4b7cdc259e971324ac1146d1b72352cb1c7878dfad0624d6179a2/EpubCrawler-2023.3.14.0-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,080 Found link https://files.pythonhosted.org/packages/07/ef/a4b9ff666a15951c0d7ae392503ad4b48cb9939b48a7a19e0830fe8a820a/EpubCrawler-2023.3.14.0.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.3.14.0 2025-09-12T21:20:29,080 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/24/3e/719b9e89ecbaf4e22e227e345f68914bb16fc74790023e691b18cf0f9531/EpubCrawler-2023.7.9.0-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,080 Found link https://files.pythonhosted.org/packages/b9/2e/8b74ed3510e26b8f4e12a532b1979c3dcc987266f746f80e748de43598cc/EpubCrawler-2023.7.9.0.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.7.9.0 2025-09-12T21:20:29,081 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/b2/20/b58d391a75647a64be122d2fb7d3df9c4755ed51093a17a611bfc4efa237/EpubCrawler-2023.7.9.1-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,081 Found link https://files.pythonhosted.org/packages/a0/2c/da14c66785f96c985e6ded315bb090b7c4708dfff0f7357986bee0fc8859/EpubCrawler-2023.7.9.1.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.7.9.1 2025-09-12T21:20:29,081 Skipping link: No binaries permitted for epubcrawler: https://files.pythonhosted.org/packages/9f/69/644c775278f637ca2aaeeec2179617eda4bc3bcccc1e27f4042501edcb68/EpubCrawler-2023.7.9.2-py3-none-any.whl (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6) 2025-09-12T21:20:29,081 Found link https://files.pythonhosted.org/packages/19/2c/3dff1b707a29b36d3e6c12e20ae3580d2a90ef13e80a48a5a15cf8288f05/EpubCrawler-2023.7.9.2.tar.gz (from https://pypi.org/simple/epubcrawler/) (requires-python:>=3.6), version: 2023.7.9.2 2025-09-12T21:20:29,082 Fetching project page and analyzing links: https://www.piwheels.org/simple/epubcrawler/ 2025-09-12T21:20:29,082 Getting page https://www.piwheels.org/simple/epubcrawler/ 2025-09-12T21:20:29,083 Found index url https://www.piwheels.org/simple/ 2025-09-12T21:20:29,177 Fetched page https://www.piwheels.org/simple/epubcrawler/ as text/html 2025-09-12T21:20:29,178 Skipping link: not a file: https://www.piwheels.org/simple/epubcrawler/ 2025-09-12T21:20:29,178 Skipping link: not a file: https://pypi.org/simple/epubcrawler/ 2025-09-12T21:20:29,205 Given no hashes to check 1 links for project 'epubcrawler': discarding no candidates 2025-09-12T21:20:29,206 Collecting epubcrawler==2023.7.9.0 2025-09-12T21:20:29,208 Created temporary directory: /tmp/pip-unpack-69w2n7yp 2025-09-12T21:20:29,352 Downloading EpubCrawler-2023.7.9.0.tar.gz (10 kB) 2025-09-12T21:20:29,375 Added epubcrawler==2023.7.9.0 from https://files.pythonhosted.org/packages/b9/2e/8b74ed3510e26b8f4e12a532b1979c3dcc987266f746f80e748de43598cc/EpubCrawler-2023.7.9.0.tar.gz to build tracker '/tmp/pip-build-tracker-da1h_eio' 2025-09-12T21:20:29,377 Running setup.py (path:/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/setup.py) egg_info for package epubcrawler 2025-09-12T21:20:29,377 Created temporary directory: /tmp/pip-pip-egg-info-khy6vu7f 2025-09-12T21:20:29,378 Preparing metadata (setup.py): started 2025-09-12T21:20:29,379 Running command python setup.py egg_info 2025-09-12T21:20:29,967 Traceback (most recent call last): 2025-09-12T21:20:29,969 File "", line 2, in 2025-09-12T21:20:29,969 exec(compile(''' 2025-09-12T21:20:29,969 ~~~~^^^^^^^^^^^^ 2025-09-12T21:20:29,969 # This is -- a caller that pip uses to run setup.py 2025-09-12T21:20:29,970 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:29,970 ...<32 lines>... 2025-09-12T21:20:29,970 exec(compile(setup_py_code, filename, "exec")) 2025-09-12T21:20:29,970 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:29,970 ''' % ('/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/setup.py',), "", "exec")) 2025-09-12T21:20:29,970 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:29,970 File "", line 35, in 2025-09-12T21:20:29,971 File "/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/setup.py", line 5, in 2025-09-12T21:20:29,971 import EpubCrawler 2025-09-12T21:20:29,971 File "/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/EpubCrawler/__init__.py", line 7, in 2025-09-12T21:20:29,971 from . import img 2025-09-12T21:20:29,971 File "/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/EpubCrawler/img.py", line 6, in 2025-09-12T21:20:29,971 from pyquery import PyQuery as pq 2025-09-12T21:20:29,972 ModuleNotFoundError: No module named 'pyquery' 2025-09-12T21:20:30,076 ERROR: python setup.py egg_info exited with 1 2025-09-12T21:20:30,089 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-12T21:20:30,089 exec(compile('"'"''"'"''"'"' 2025-09-12T21:20:30,089 # This is -- a caller that pip uses to run setup.py 2025-09-12T21:20:30,089 # 2025-09-12T21:20:30,089 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-12T21:20:30,089 # import from `distutils.core` to work with newer packaging standards. 2025-09-12T21:20:30,089 # - It provides a clear error message when setuptools is not installed. 2025-09-12T21:20:30,089 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-12T21:20:30,089 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-12T21:20:30,089 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-12T21:20:30,089 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-12T21:20:30,089 import os, sys, tokenize, traceback 2025-09-12T21:20:30,089 2025-09-12T21:20:30,089 try: 2025-09-12T21:20:30,089 import setuptools 2025-09-12T21:20:30,089 except ImportError: 2025-09-12T21:20:30,089 print( 2025-09-12T21:20:30,089 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-12T21:20:30,089 "the build environment with exception:", 2025-09-12T21:20:30,089 file=sys.stderr, 2025-09-12T21:20:30,089 ) 2025-09-12T21:20:30,089 traceback.print_exc() 2025-09-12T21:20:30,089 sys.exit(1) 2025-09-12T21:20:30,089 2025-09-12T21:20:30,089 __file__ = %r 2025-09-12T21:20:30,089 sys.argv[0] = __file__ 2025-09-12T21:20:30,089 2025-09-12T21:20:30,089 if os.path.exists(__file__): 2025-09-12T21:20:30,089 filename = __file__ 2025-09-12T21:20:30,089 with tokenize.open(__file__) as f: 2025-09-12T21:20:30,089 setup_py_code = f.read() 2025-09-12T21:20:30,089 else: 2025-09-12T21:20:30,089 filename = "" 2025-09-12T21:20:30,089 setup_py_code = "from setuptools import setup; setup()" 2025-09-12T21:20:30,089 2025-09-12T21:20:30,089 exec(compile(setup_py_code, filename, "exec")) 2025-09-12T21:20:30,089 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-khy6vu7f[/] 2025-09-12T21:20:30,089 [bold magenta]cwd[/]: /tmp/pip-wheel-czrm1iam/epubcrawler_a94bd9b299c64a66ba267a60d0ecaf23/ 2025-09-12T21:20:30,090 Preparing metadata (setup.py): finished with status 'error' 2025-09-12T21:20:30,091 ERROR: metadata generation failed 2025-09-12T21:20:30,096 Exception information: 2025-09-12T21:20:30,096 Traceback (most recent call last): 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-12T21:20:30,096 call_subprocess( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 args, 2025-09-12T21:20:30,096 ^^^^^ 2025-09-12T21:20:30,096 ...<2 lines>... 2025-09-12T21:20:30,096 spinner=spinner, 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-12T21:20:30,096 raise error 2025-09-12T21:20:30,096 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-12T21:20:30,096 2025-09-12T21:20:30,096 The above exception was the direct cause of the following exception: 2025-09-12T21:20:30,096 2025-09-12T21:20:30,096 Traceback (most recent call last): 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-12T21:20:30,096 status = _inner_run() 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-12T21:20:30,096 return self.run(options, args) 2025-09-12T21:20:30,096 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-12T21:20:30,096 return func(self, options, args) 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-12T21:20:30,096 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-12T21:20:30,096 result = self._result = resolver.resolve( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-12T21:20:30,096 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-12T21:20:30,096 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-12T21:20:30,096 if not criterion.candidates: 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-12T21:20:30,096 return bool(self._sequence) 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-12T21:20:30,096 self._bool = any(self) 2025-09-12T21:20:30,096 ~~~^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-12T21:20:30,096 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-12T21:20:30,096 ^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-12T21:20:30,096 candidate = func() 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-12T21:20:30,096 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 link, template, name, version 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-12T21:20:30,096 self._link_candidate_cache[link] = LinkCandidate( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 link, 2025-09-12T21:20:30,096 ^^^^^ 2025-09-12T21:20:30,096 ...<3 lines>... 2025-09-12T21:20:30,096 version=version, 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-12T21:20:30,096 super().__init__( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 link=link, 2025-09-12T21:20:30,096 ^^^^^^^^^^ 2025-09-12T21:20:30,096 ...<4 lines>... 2025-09-12T21:20:30,096 version=version, 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-12T21:20:30,096 self.dist = self._prepare() 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-12T21:20:30,096 dist = self._prepare_distribution() 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-12T21:20:30,096 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-12T21:20:30,096 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-12T21:20:30,096 dist = _get_prepared_distribution( 2025-09-12T21:20:30,096 req, 2025-09-12T21:20:30,096 ...<3 lines>... 2025-09-12T21:20:30,096 self.check_build_deps, 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-12T21:20:30,096 abstract_dist.prepare_distribution_metadata( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 finder, build_isolation, check_build_deps 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-12T21:20:30,096 self.req.prepare_metadata() 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-12T21:20:30,096 self.metadata_directory = generate_metadata_legacy( 2025-09-12T21:20:30,096 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-12T21:20:30,096 build_env=self.build_env, 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ...<3 lines>... 2025-09-12T21:20:30,096 details=details, 2025-09-12T21:20:30,096 ^^^^^^^^^^^^^^^^ 2025-09-12T21:20:30,096 ) 2025-09-12T21:20:30,096 ^ 2025-09-12T21:20:30,096 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-12T21:20:30,096 raise MetadataGenerationFailed(package_details=details) from error 2025-09-12T21:20:30,096 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-12T21:20:30,120 Removed epubcrawler==2023.7.9.0 from https://files.pythonhosted.org/packages/b9/2e/8b74ed3510e26b8f4e12a532b1979c3dcc987266f746f80e748de43598cc/EpubCrawler-2023.7.9.0.tar.gz from build tracker '/tmp/pip-build-tracker-da1h_eio' 2025-09-12T21:20:30,121 Removed build tracker: '/tmp/pip-build-tracker-da1h_eio'