4 ms·
The OP mixes together different tools used for different causes. * setuptools/pip/poetry is package managers * egg/wheel/? are package formats * ve
by culebron21 5y ago
The OP mixes together different tools used for different causes.
* setuptools/pip/poetry is package managers
* egg/wheel/? are package formats
* venv/conda are environment to isolate from the OS
another degree of complexity is added by the OS: their package managers and ability to install as root vs under user. But in any layer, there's not much to get confused.
Over 12 years with Python the only serious change I saw was setuptools (was it named like that?) => pip in 2011. The only serious issue I saw was when I installed with several managers (OS, setup.py, pip) and/or as root/user. That got solved in 15-30 minutes after checking the imported package __path__, and cleaning things up.
Teaching people at courses, I saw people who struggled the most never checked anything: doesn't work? They'd try installing harder, or just re-ran things. But they never checked where the packages were installed, and where from they were imported.
Otherwise, I came to following simple rules:
1) python & ipython are installed via an OS package
2) packages that have to be executed like jupyter may be installed as root, or user; just never install both.
3) all other packages are installed as user. Computers are personal, and I almost never execute things as root, nor have other users.
Maybe being able to examine sources of errors was why I didn't feel it was so hard? I'm not a sysadmin, nor a hardcore programmer. It's just I got used to check paths and read error messages attentively.
This does not mean it's easy, I wish things were simpler, there were less ways to do things, but the OP exaggerates things as if there's a thousand of tools.
- eqvinox 5y ago> The OP mixes together different tools used for different causes. The fact that it is possible to get all of these confused is in itself a problem I'd say :(