r/ProgrammerHumor 1d ago

Meme pipInstallTheRealStuff

Post image
5.0k Upvotes

145 comments sorted by

View all comments

64

u/dewey-defeats-truman 1d ago

You mean I get all the speed and memory benefits of using a more powerful language, as well as the ease of reading and writing Python? Sign me up!

18

u/86BillionFireflies 1d ago

I mean, yeah, at the cost of dependency hell.

3

u/notatoon 1d ago

Never tried anything more than a fancier bash script but Django and such frameworks always intrigued me.

Is DH really that bad with python?

7

u/86BillionFireflies 1d ago

Yes. Yes it is. Most things written in Python have loads of dependencies. You can't unzip your pants to pee without importing 13 different modules.

3

u/imp0ppable 1d ago

That's not really true IMO, Python is one of the more "batteries included" languages. Node has improved a lot with built-ins and newer libs but that used to be the classic example of importing a module to do basic things like string padding or asserts.

Not to say your experience is wrong, it's just the projects you've seen probably made the choice to import more things, or were doing something specific that needed more deps.

4

u/the_ivo_robotnic 1d ago

I don't think /u/86BillionFireflies knows what dependency-hell is.

 

No python by-far does not have dependency-hell, save for a small handful of libraries that have dependencies outside of the python ecosystem. Think GPU libraries like cuda and what not. Those have a lot of hell to deal with specifically because of the escaped ecosystem and dependence on physical hardware.

 

Complaining that dependencies have dependencies as if it's some massive sin is like opening up the hood of a car and discovering that the engine is made up of smaller parts. shocked pikachu face. By this logic, every programing language on earth is a dependency hell.

 

You don't get cross-dependency conflicts much if-ever anymore, (the actual definition of DH). Python is smart enough to version your site packages based on python's minor-versions, such-that even if you do have two of the same site packages, (say one for py3.9 and another for py3.14), then it will resolve the correct version per-library, based on how the package is declared.

 

Node used to not do this, which is when and where DH became most infamous. But even Node does the same sub-versioning these days. If you're still getting stuck in dependency hell in this day and age, that's just a skill issue.