Skip to content
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

Add better dependency control to 'pip install' #1631

Closed
amluto opened this issue Mar 10, 2014 · 4 comments
Closed

Add better dependency control to 'pip install' #1631

amluto opened this issue Mar 10, 2014 · 4 comments
Labels
auto-locked Outdated issues that have been locked by automation C: dependency resolution About choosing which dependencies to install

Comments

@amluto
Copy link

amluto commented Mar 10, 2014

If I do 'pip install whatever', there are two choices for handling dependencies, both of which I dislike:

  • The default: dependencies are installed automatically. The only notification I get is that they scroll by quickly on the screen.
  • --no-deps: Unmet dependencies are ignored, causing breakage.

Please add new modes:

  • Prompt if there are unmet dependencies. The choices should include installing the dependency and aborting.
  • Abort if there are unmet dependencies, but tell me what they are.
  • (even better, but less important) Try to install dependencies from the distro's package manager.
@Ivoz
Copy link
Contributor

Ivoz commented Mar 10, 2014

This is closely related to #988

(even better, but less important) Try to install dependencies from the distro's package manager.

I really disagree with this. Firstly, pip would need to start including knowledge about how to operate many different distro package managers, and hope to keep that up to date as it goes on. Secondly, package managers install packages on a system level; this means that pip would A) need sudo rights to install and uninstall, and B) be completely useless when pip is used with a virtual environment. Thirdly, many distro's package repositories become extremely out of date as they age. They may be missing useful major releases or minor releases or even bugfixes that had already appeared on PyPI. I wouldn't expect most distro package managers to include bugfixes from minor version updates of python packages as patches - this would quickly create a mountain of work. IMO for system software, system package managers are most appropriate. But for a large majority of programming-language-specific development, the language's package manager and database is way more appropriate than the system, and it is certainly not appropriate to use the system's in preference - you'll end up getting out-of-date releases.

@amluto
Copy link
Author

amluto commented Mar 10, 2014

I think I disagree with how bad this would be, but I'm convinced that it's well out of scope for the real issue here. So let's drop that part from the issue.

@xavfernandez xavfernandez added the C: dependency resolution About choosing which dependencies to install label Oct 9, 2015
@dstufft
Copy link
Member

dstufft commented Mar 24, 2017

Closing this. I don't believe this feature to be one that we're ever going to implement. Prompting or aborting for each dependency is only going to incentivize people to use less dependencies which we're trying to improve the path around using deps, not make it more painful.

@dstufft dstufft closed this as completed Mar 24, 2017
@amluto
Copy link
Author

amluto commented Mar 24, 2017

The goal isn't to incentivize people to use fewer deps -- it's to give users and admins a chance to see and optionally control what pip does to their systems before it actually does it.

Another option would be to add a dry run mode in which pip would say what it would install without actually installing it.

@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Jun 3, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jun 3, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation C: dependency resolution About choosing which dependencies to install
Projects
None yet
Development

No branches or pull requests

4 participants