astral-sh/uv

[feat] Log parent package when erroring during dependency install

Open

#7,040 opened on Sep 4, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Rust (84,934 stars) (3,111 forks)batch import
error messageshelp wanted

Description

When installing a package that pulls in additional dependencies, and a dependency of those dependencies fails to build, there is no indication of which parent package required the failing package or version.

It would be helpful if the chain of package dependencies was shown for failing packages, that way it is easier to find the problematic package and fix any version issues.

Currently, a failing dependency install looks like this. numba is not directly required in pyproject.toml or by pyannote-audio

[1/2] STEP 12/13: RUN uv pip install -r pyproject.toml     --no-cache --override overrides.txt     pyannote-audio
Resolved 136 packages in 1.37s
error: Failed to prepare distributions
  Caused by: Failed to fetch wheel: numba==0.53.1
  Caused by: Build backend failed to determine extra requires with `build_wheel()` with exit status: 1
--- stdout:

--- stderr:
/tmp/.tmpXEpsT6/built-wheels-v3/index/b2a7eb67d4c26b82/numba/0.53.1/pa9iWh_E6d_DuuXIyvWlT/numba-0.53.1.tar.gz/versioneer.py:335: SyntaxWarning: invalid escape sequence '\s'
  LONG_VERSION_PY['git'] = '''
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/tmp/.tmpXEpsT6/builds-v0/.tmpLn5qoW/lib/python3.12/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/.tmpXEpsT6/builds-v0/.tmpLn5qoW/lib/python3.12/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
    self.run_setup()
  File "/tmp/.tmpXEpsT6/builds-v0/.tmpLn5qoW/lib/python3.12/site-packages/setuptools/build_meta.py", line 503, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/tmp/.tmpXEpsT6/builds-v0/.tmpLn5qoW/lib/python3.12/site-packages/setuptools/build_meta.py", line 318, in run_setup
    exec(code, locals())
  File "<string>", line 50, in <module>
  File "<string>", line 47, in _guard_py_ver
RuntimeError: Cannot install on Python version 3.12.5; only versions >=3.6,<3.10 are supported.
---
Error: building at STEP "RUN uv pip install -r pyproject.toml     --no-cache --override overrides.txt     pyannote-audio": while running runtime: exit status 2

Contributor guide