3 ms·
So just to be clear, Python has one official package manager: pip. It’s built into Python. Both it and virtualenv are part of Python itself, they are not separa
by orf 5y ago
So just to be clear, Python has one official package manager: pip. It’s built into Python. Both it and virtualenv are part of Python itself, they are not separately installed applications. It’s a bit like saying Rust is confusing because “rustc”, “cargo” and “clippy” are different things.
So that’s the base level. You’ve got pip and virtualenv. Everything else builds ontop of that.
But hey it turns out it would be cool to iterate on stuff outside of Python itself. And maybe there are some useful things we can add to pip and virtualenv? And so Poetry and Pipenv are born.
It’s probably Stockholm syndrome but this seems pretty simple.
- uranusjr 5y agoTo be pedantic, Python has exactly zero official package managers. Nothing in packaging is “official” (well maybe distutils is but it’s also officially deprecated).
- faho 5y agoPip ships with the official cpython interpreter, to the point there's even an "ensurepip" module in the standard library to install it if someone ripped it out. There are multiple PEPs about pip. https://www.python.org/dev/peps/pep-0453/ https://www.python.org/dev/peps/pep-0453/ makes it as official as it gets.
- orf 5y agoThat’s not true at all. Pip is official, pyproject is official, the wheel format is also official, etc etc
- uranusjr 5y agoThe latter two are correct (and likely most of your etc.), but pip is not official. pip maintainers only claim it is “PyPA recommended”, and PEP 453 is extremely careful to only say “officially recommended” (by CPython core maintainers). I told you this is pedantic! Source: I am a pip maintainer and a PyPA member.
- orf 5y ago> Source: I am a pip maintainer and a PyPA member. Oh damn, well consider me schooled. Fair enough!