Setting up a development environment for Python can be a bit confusing, mainly stemming from the fact that there are multiple competing standards for package management.
Compared with JavaScript and Node.js, which indeed have several different popular package managers such as npm
, yarn
, and pnpm
, they at least all agree on a common manifest format (package.json
) and they are largely all interoperable with each other. In addition, it's very clear to new JS developers that npm
is where you ought to start.
This is not the case with Python, where there are multiple competing manifest formats (requirements.txt
, Pipfile
, pyproject.toml
), interoperability is hit and miss, and it's not clear where to start because the official PEPs are somewhat conflicting and the Python Packaging Authority (PyPA) doesn't take a strong stance on the issue either.
pip
, which usesrequirements.txt
, is the most official and is in the standard lib. But, it'