Hacker News new | ask | show | jobs
by notatallshaw 1036 days ago
FYI pip is specifically not a package manager, it's a package installer.

Pip does not attempt to resolve dependency conflicts of already installed packages, only the ones it is currently trying to install. Nor does it try to manage the life cycle of installed packages, such as removing transitive dependencies never specified or no longer needed or create consistent environments with a lock file.

As package specifications have become better defined (rather than "whatever setup.py does") and are being better enforced (e.g. Pip will soon reject version numbers that are non-compliant) there are several attempts at writing full-fledged package managers (Rye, Huak, Pixi, etc.) and I'm sure once one of them gains critical mass it will replace Pip quickly.

1 comments

Thanks for the info! That would explain why I spend so much time fighting dependency errors when I upgrade something ML related ...