Hacker News new | ask | show | jobs
by bnt 1833 days ago
OK, so we’re in mid-2021, why is installing Python THAT HARD? I think the only reason Node is so popular is because it JUST WORKS. Windows, Mac, doesn’t matter. One-click installer and you got NPM as well and access to thousands of packages.
7 comments

As someone using nvm for work, I disagree. NPM can't be installed from normal package repositories, because it's outdated the moment any long-term support distribution accepts it. Then there's yarn, which is fighting for command line dependency management supremacy, with the exact same problem. I'm still not sure what npx does but I think it comes with NPM, unlike nvm which you use to manage NPM installs. I'm hoping I don't need to learn it because I expect some new javascript tool to replace NPM and yarn any day now, as those did bower and grunt before them.

I've also had to use nvm to install an old version of NPM for a specific project because otherwise one of the NPM dependencies couldn't compile a certain C++ executable that I apparently needed? There was also an incompatibility with some binary that another dependency downloaded that required me to mess with soft links to libraries in specific places.

I don't think either NPM or PIP are inherently hard to use as long as you keep them updated (which is exactly what the parent comment is suggesting to do) and as long as you don't need binary dependencies. When you end up in binary territory, which this type of software eventually will, you'll run head-first into stuff that requires arcane commands to get stuff to run.

Respectfully disagree. Being an experienced Python dev, and a total JavaScript noob, I feel exactly the same with npm.

It's ultimately just a matter of experience I guess

While I don't think the problem is as bad as you describe, we should note that Node's initial release was in 2009, while python's was 1991. They pioneered a lot and Node was thus able to spring from quite hefty shoulders.
I consider myself a novice but competent python programmer (not particularly skilled or expert) and everytime i have to use something made in python i cringe because i know it will require 30 minutes of futzing with things to even run it.

Python’s ecosystem is the worst for get-up-and-go usage.

Nvm or nodenv make managing node environments trivial compared to virtualenv, pip, and co. Same with rustup or rbenv… in fact python is the only language i have the problem with.

For real. I enjoy the language but I avoid it like the plague due to...everything else.
i think the comparison with node is good, because my policy for both of them is the same - if i want to use either, i do it inside docker.

i can't be arsed to deal with all the various version dependencies and incompatabilities and system install vs local install nonsense that comes with installing it on my actual computer.

I use asdf (cloned after rbenv) for version management and building versions. Never have a problem.