With python, it feels like half the time I don't even have the right version of python installed, or it’s somehow not on the right path. And once I actually get to installing dependencies, there are often very opaque errors. (The last 2 years on M1 were really rough)
Setting up Pytorch or Tensorflow + CUDA is a nightmare I've experienced many times.
Having so many ways to manage packages is especially harmful for python because many of those writing python are not professional software engineers, but academics and researchers. If they write something that needs, for example, CUDA 10.2, Python 3.6, and a bunch of C audio drivers - good luck getting that code to work in less than a week. They aren’t writing install scripts, or testing their code on different platforms, and the python ecosystem makes the whole process worse by providing 15 ways of doing basically the same thing.
My proposal:
- Make poetry part of pip
- Make local installation the default (must pass -g for global)
- Provide official first party tooling for starting a new package
- Provide official first party tooling for migrating old dependency setups to the new standard
edit: fmt