2025-09-08T00:09:34,535 Created temporary directory: /tmp/pip-build-tracker-7tkt6uds 2025-09-08T00:09:34,536 Initialized build tracking at /tmp/pip-build-tracker-7tkt6uds 2025-09-08T00:09:34,536 Created build tracker: /tmp/pip-build-tracker-7tkt6uds 2025-09-08T00:09:34,536 Entered build tracker: /tmp/pip-build-tracker-7tkt6uds 2025-09-08T00:09:34,536 Created temporary directory: /tmp/pip-wheel-r3ih0ja_ 2025-09-08T00:09:34,539 Created temporary directory: /tmp/pip-ephem-wheel-cache-zqu6kc5x 2025-09-08T00:09:34,594 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T00:09:34,597 2 location(s) to search for versions of molvs: 2025-09-08T00:09:34,597 * https://pypi.org/simple/molvs/ 2025-09-08T00:09:34,597 * https://www.piwheels.org/simple/molvs/ 2025-09-08T00:09:34,597 Fetching project page and analyzing links: https://pypi.org/simple/molvs/ 2025-09-08T00:09:34,597 Getting page https://pypi.org/simple/molvs/ 2025-09-08T00:09:34,598 Found index url https://pypi.org/simple/ 2025-09-08T00:09:34,743 Fetched page https://pypi.org/simple/molvs/ as application/vnd.pypi.simple.v1+json 2025-09-08T00:09:34,747 Found link https://files.pythonhosted.org/packages/c2/2a/43118c3ad01e60a5629ce18544cb3187f43cda6498394aab3bea4141d869/MolVS-0.0.1.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.1 2025-09-08T00:09:34,748 Found link https://files.pythonhosted.org/packages/be/bd/f3cdb135e4ab97e71a0cb0a0176ca4e717fea6adbfe399fb8881601f76df/MolVS-0.0.2.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.2 2025-09-08T00:09:34,748 Found link https://files.pythonhosted.org/packages/a5/a7/cc06afbdd709c8c24349cd94f8b50dd9ddf826757506771e1164f05a1433/MolVS-0.0.3.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.3 2025-09-08T00:09:34,749 Found link https://files.pythonhosted.org/packages/fc/ed/080ef596d4d6c73208b67ade04f6bc2e69da3b44301eacff41b48109191a/MolVS-0.0.4.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.4 2025-09-08T00:09:34,749 Found link https://files.pythonhosted.org/packages/c2/4e/6fcc28c733ddb669f3e15502477fd5bbbfa7ebd0fc93dd23b9d8ec8b316a/MolVS-0.0.5.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.5 2025-09-08T00:09:34,750 Found link https://files.pythonhosted.org/packages/3c/f0/8f43beb4ae8c3b7cbb95bd4b4f3e34dcbd25d7b525c5dbe37aa67af02ab3/MolVS-0.0.7.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.7 2025-09-08T00:09:34,750 Found link https://files.pythonhosted.org/packages/35/7b/914143629a24092d0e3b6b07b7f5a22d9e3e6e77fece9e2f66321e9e0ce4/MolVS-0.0.8.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.8 2025-09-08T00:09:34,751 Found link https://files.pythonhosted.org/packages/dd/64/550a35aed0c3c6e49ca762d9ac59a1a38db4e07b2b916d0820d1ca29ec9f/MolVS-0.0.9.tar.gz (from https://pypi.org/simple/molvs/), version: 0.0.9 2025-09-08T00:09:34,751 Found link https://files.pythonhosted.org/packages/fe/3c/14bdb547eaedab7b958a76f639ecb9a14e9786c1176344348c1e239deadc/MolVS-0.1.0.tar.gz (from https://pypi.org/simple/molvs/), version: 0.1.0 2025-09-08T00:09:34,752 Found link https://files.pythonhosted.org/packages/08/dc/d948e83b97f2c420cb6c7e2143ae349560d3b5b061945f1b2a4eefb0231c/MolVS-0.1.1.tar.gz (from https://pypi.org/simple/molvs/), version: 0.1.1 2025-09-08T00:09:34,752 Fetching project page and analyzing links: https://www.piwheels.org/simple/molvs/ 2025-09-08T00:09:34,753 Getting page https://www.piwheels.org/simple/molvs/ 2025-09-08T00:09:34,755 Found index url https://www.piwheels.org/simple/ 2025-09-08T00:09:34,842 Fetched page https://www.piwheels.org/simple/molvs/ as text/html 2025-09-08T00:09:34,845 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.1.1-py3-none-any.whl#sha256=fc36dadab51c833f6f384cba2eae7604b2a495dac37bb372619d8cbf4501f093 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,845 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.1.0-py3-none-any.whl#sha256=318cdfbc0df3323c7a830190d8c88e655fbbda60f93556bf79b4bedfa73c1b82 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,845 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.9-py3-none-any.whl#sha256=6c462b8e6c14f68c4d65dd3a97357d4ded9d5b7f23eaecd1df9cd8f205668aca (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,845 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.8-py3-none-any.whl#sha256=f7c4d275b7940446a459d4b7de60886275123d9976995365be53285d3fe2e536 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,845 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.7-py3-none-any.whl#sha256=5182b2acc6549d922eead002605e341f5071aa0563acad333ae3b4eb524ae522 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,846 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.5-py3-none-any.whl#sha256=3cd49b0cad18dea65267b5a331841970d5aa33f3230282586a7791c98204ed2c (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,846 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.4-py3-none-any.whl#sha256=4eb8733d8fded0064470361c4b1accfe821aa315cf443b50c4ee9419774894a9 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,846 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.3-py3-none-any.whl#sha256=cd24985e1977ec68535f18cb9b853ffbc43433c8a9aefb00f815cb480a728e70 (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,846 Skipping link: No binaries permitted for molvs: https://archive1.piwheels.org/simple/molvs/MolVS-0.0.2-py3-none-any.whl#sha256=70221bd36a8f23e451ae90ae942602fe528dae371cc9d382f307b95e6d4bbe5b (from https://www.piwheels.org/simple/molvs/) 2025-09-08T00:09:34,846 Skipping link: not a file: https://www.piwheels.org/simple/molvs/ 2025-09-08T00:09:34,846 Skipping link: not a file: https://pypi.org/simple/molvs/ 2025-09-08T00:09:34,874 Given no hashes to check 1 links for project 'molvs': discarding no candidates 2025-09-08T00:09:34,875 Collecting molvs==0.0.1 2025-09-08T00:09:34,877 Created temporary directory: /tmp/pip-unpack-l3z_kg6o 2025-09-08T00:09:35,256 Downloading MolVS-0.0.1.tar.gz (18 kB) 2025-09-08T00:09:35,290 Added molvs==0.0.1 from https://files.pythonhosted.org/packages/c2/2a/43118c3ad01e60a5629ce18544cb3187f43cda6498394aab3bea4141d869/MolVS-0.0.1.tar.gz to build tracker '/tmp/pip-build-tracker-7tkt6uds' 2025-09-08T00:09:35,291 Running setup.py (path:/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/setup.py) egg_info for package molvs 2025-09-08T00:09:35,292 Created temporary directory: /tmp/pip-pip-egg-info-zvaj8rwi 2025-09-08T00:09:35,292 Preparing metadata (setup.py): started 2025-09-08T00:09:35,293 Running command python setup.py egg_info 2025-09-08T00:09:35,814 Traceback (most recent call last): 2025-09-08T00:09:35,815 File "", line 2, in 2025-09-08T00:09:35,815 exec(compile(''' 2025-09-08T00:09:35,816 ~~~~^^^^^^^^^^^^ 2025-09-08T00:09:35,816 # This is -- a caller that pip uses to run setup.py 2025-09-08T00:09:35,816 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,816 ...<32 lines>... 2025-09-08T00:09:35,816 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T00:09:35,816 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,816 ''' % ('/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/setup.py',), "", "exec")) 2025-09-08T00:09:35,816 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,817 File "", line 35, in 2025-09-08T00:09:35,817 File "/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/setup.py", line 7, in 2025-09-08T00:09:35,817 import molvs 2025-09-08T00:09:35,817 File "/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/molvs/__init__.py", line 26, in 2025-09-08T00:09:35,817 from .standardize import Standardizer, standardize_smiles 2025-09-08T00:09:35,817 File "/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/molvs/standardize.py", line 19, in 2025-09-08T00:09:35,817 from rdkit import Chem 2025-09-08T00:09:35,817 ModuleNotFoundError: No module named 'rdkit' 2025-09-08T00:09:35,902 ERROR: python setup.py egg_info exited with 1 2025-09-08T00:09:35,914 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-08T00:09:35,914 exec(compile('"'"''"'"''"'"' 2025-09-08T00:09:35,914 # This is -- a caller that pip uses to run setup.py 2025-09-08T00:09:35,914 # 2025-09-08T00:09:35,914 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T00:09:35,914 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T00:09:35,914 # - It provides a clear error message when setuptools is not installed. 2025-09-08T00:09:35,914 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T00:09:35,914 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T00:09:35,914 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T00:09:35,914 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T00:09:35,914 import os, sys, tokenize, traceback 2025-09-08T00:09:35,914 2025-09-08T00:09:35,914 try: 2025-09-08T00:09:35,914 import setuptools 2025-09-08T00:09:35,914 except ImportError: 2025-09-08T00:09:35,914 print( 2025-09-08T00:09:35,914 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T00:09:35,914 "the build environment with exception:", 2025-09-08T00:09:35,914 file=sys.stderr, 2025-09-08T00:09:35,914 ) 2025-09-08T00:09:35,914 traceback.print_exc() 2025-09-08T00:09:35,914 sys.exit(1) 2025-09-08T00:09:35,914 2025-09-08T00:09:35,914 __file__ = %r 2025-09-08T00:09:35,914 sys.argv[0] = __file__ 2025-09-08T00:09:35,914 2025-09-08T00:09:35,914 if os.path.exists(__file__): 2025-09-08T00:09:35,914 filename = __file__ 2025-09-08T00:09:35,914 with tokenize.open(__file__) as f: 2025-09-08T00:09:35,914 setup_py_code = f.read() 2025-09-08T00:09:35,914 else: 2025-09-08T00:09:35,914 filename = "" 2025-09-08T00:09:35,914 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T00:09:35,914 2025-09-08T00:09:35,914 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T00:09:35,914 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-zvaj8rwi[/] 2025-09-08T00:09:35,915 [bold magenta]cwd[/]: /tmp/pip-wheel-r3ih0ja_/molvs_8daa971c01e94224bf1bc79b9c9ea6ad/ 2025-09-08T00:09:35,915 Preparing metadata (setup.py): finished with status 'error' 2025-09-08T00:09:35,916 ERROR: metadata generation failed 2025-09-08T00:09:35,923 Exception information: 2025-09-08T00:09:35,923 Traceback (most recent call last): 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-08T00:09:35,923 call_subprocess( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 args, 2025-09-08T00:09:35,923 ^^^^^ 2025-09-08T00:09:35,923 ...<2 lines>... 2025-09-08T00:09:35,923 spinner=spinner, 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-08T00:09:35,923 raise error 2025-09-08T00:09:35,923 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-08T00:09:35,923 2025-09-08T00:09:35,923 The above exception was the direct cause of the following exception: 2025-09-08T00:09:35,923 2025-09-08T00:09:35,923 Traceback (most recent call last): 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T00:09:35,923 status = _inner_run() 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T00:09:35,923 return self.run(options, args) 2025-09-08T00:09:35,923 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T00:09:35,923 return func(self, options, args) 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-08T00:09:35,923 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-08T00:09:35,923 result = self._result = resolver.resolve( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-08T00:09:35,923 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-08T00:09:35,923 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-08T00:09:35,923 if not criterion.candidates: 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-08T00:09:35,923 return bool(self._sequence) 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-08T00:09:35,923 self._bool = any(self) 2025-09-08T00:09:35,923 ~~~^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-08T00:09:35,923 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-08T00:09:35,923 ^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-08T00:09:35,923 candidate = func() 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-08T00:09:35,923 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 link, template, name, version 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-08T00:09:35,923 self._link_candidate_cache[link] = LinkCandidate( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 link, 2025-09-08T00:09:35,923 ^^^^^ 2025-09-08T00:09:35,923 ...<3 lines>... 2025-09-08T00:09:35,923 version=version, 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-08T00:09:35,923 super().__init__( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 link=link, 2025-09-08T00:09:35,923 ^^^^^^^^^^ 2025-09-08T00:09:35,923 ...<4 lines>... 2025-09-08T00:09:35,923 version=version, 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-08T00:09:35,923 self.dist = self._prepare() 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-08T00:09:35,923 dist = self._prepare_distribution() 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-08T00:09:35,923 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-08T00:09:35,923 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-08T00:09:35,923 dist = _get_prepared_distribution( 2025-09-08T00:09:35,923 req, 2025-09-08T00:09:35,923 ...<3 lines>... 2025-09-08T00:09:35,923 self.check_build_deps, 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-08T00:09:35,923 abstract_dist.prepare_distribution_metadata( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 finder, build_isolation, check_build_deps 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-08T00:09:35,923 self.req.prepare_metadata() 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-08T00:09:35,923 self.metadata_directory = generate_metadata_legacy( 2025-09-08T00:09:35,923 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-08T00:09:35,923 build_env=self.build_env, 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ...<3 lines>... 2025-09-08T00:09:35,923 details=details, 2025-09-08T00:09:35,923 ^^^^^^^^^^^^^^^^ 2025-09-08T00:09:35,923 ) 2025-09-08T00:09:35,923 ^ 2025-09-08T00:09:35,923 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-08T00:09:35,923 raise MetadataGenerationFailed(package_details=details) from error 2025-09-08T00:09:35,923 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-08T00:09:35,945 Removed molvs==0.0.1 from https://files.pythonhosted.org/packages/c2/2a/43118c3ad01e60a5629ce18544cb3187f43cda6498394aab3bea4141d869/MolVS-0.0.1.tar.gz from build tracker '/tmp/pip-build-tracker-7tkt6uds' 2025-09-08T00:09:35,945 Removed build tracker: '/tmp/pip-build-tracker-7tkt6uds'