New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] Error handling when building/installing #12654
Comments
I'm confused by your proposed solution/outcome, if you don't have the external dependencies to build a package, e.g. a database library, or a language compiler, how is pip supposed to handle this? |
By installing those external dependencies for you to then retry. |
Pip is a Python package installer and only understands Python packages and their metadata, as defined by the relevant Python packaging standards. Currently there is no way to for a Python package to express it's external dependencies or how to install them, you would need to discuss this at https://discuss.python.org/c/packaging/14. Pip maintainers are likely going to need a standard to be agreed and approved before considering such a feature. There is, however, already an ecosystem for Python libraries that installs external dependencies for you, and it's called conda. It is available as a commercial solution under the name "Anaconda" and "miniconda", or open source solutions "conda-forge", "miniforge", and "mamba", there is recently a tool that tries to seamlessly integrate it with with traditional python packages called "pixi". |
Pip is an user-land application and won't be installing system-level or OS packages for you. It also doesn't control the build process as that's delegated to the package's configured build backend (see PEP 517). While installing extension packages from source is definitely subject to a less than ideal experience, as @notatallshaw has explained, this is an ecosystem limitation that will require standardised solutions. I'll close this as it's not actionable as-is. |
What's the problem this feature will solve?
Error handling when building/installing
Describe the solution you'd like
pip install -r requirements.txt
orpip install module
should not end withnote: This error originates from a subprocess, and is likely not a problem with pip.
orerror C2039
and the like. You enter the command and if there are problems with libraries, pip installs those libraries and tries again recursively also addresses error messages of external builders likecl.exe
.In short, you run the pip command and it just installs.
The text was updated successfully, but these errors were encountered: