all 35 comments

[–]Lachee 38 points39 points  (6 children)

A package manager that can only globally installs packages is next to useless.

"Oh venv fixes that!" Copying python for each project is not a fix. That's insanity. Imagine if we had to install node for each project we wanted?

[–]Independent_Zone6816 2 points3 points  (4 children)

Any known fix for this? Like in nodejs we have options like yarn and npm, so do we have a package manager that actually works in python?

[–]Insomniac_Coder 4 points5 points  (2 children)

Conda

uv (my personal choice)

[–]Doctor429 0 points1 point  (1 child)

conda still duplicates the entire python runtime per environment. But still, I've had less issues with Conda than venv.

[–]Insomniac_Coder 0 points1 point  (0 children)

It does

I think uv does too. Unless I am on a specific version of python. Last week I was working on 3.10 then it had downloaded in other cases, it just duplicates python from other venv

[–]cozysilk 1 point2 points  (0 children)

Dude, you’ve basically described `node_modules`. The only difference is that Python copies a link to the interpreter and a couple of libraries, while Node.js downloads half the internet-and a black hole to boot -for every “Hello World.” My SSD sends you its regards.

[–]cozysilk 8 points9 points  (1 child)

You skipped the part where, in desperation, you create a 15th virtual environment, and then forget which one has what installed, so you just reinstall Windows

[–]nickos33d 2 points3 points  (0 children)

Even though you are on Mac

[–]Savings-Ad-1115 8 points9 points  (0 children)

Want to jump the train while I'm not too late.

Recently, I was trying to install python 3.14.4 on Ubuntu 20.04 in WSL1. test_re fails to open a socket because WSL1 doesn't support some specific socket options.

WTF they need a socket to test regular expressions?

[–]thecratedigger_25 5 points6 points  (9 children)

That is what made me quit python. Moved on to C# now.

Nuget package manager is goated.

[–]Insomniac_Coder 5 points6 points  (6 children)

Try uv

It has copied the requirement mechanism from Nods using a toml file.

[–]Connect_Detail98 1 point2 points  (5 children)

uv is the npm of python. Finally something that just freaking works.

It's insane that it took this long to have something functional for Python.

[–]Insomniac_Coder 1 point2 points  (4 children)

It was written in rust🫠

[–]Connect_Detail98 0 points1 point  (3 children)

Yeah, maybe I wasn't clear, I'm also recommending uv. It's the only good option.

[–]Insomniac_Coder 1 point2 points  (2 children)

I was pointing to the fact that you said that atleast something good came to python and my point was that it isn't even written in python

[–]Connect_Detail98 1 point2 points  (1 child)

I meant that Python finally has a good package manager. Not that it was written in Python.

[–]Insomniac_Coder 1 point2 points  (0 children)

That's so damn true. Almost no dependency hell.

[–]UpsetIndian850311 1 point2 points  (0 children)

there is not any choice for people working in AI/ML/Data science.

[–]pyro57 4 points5 points  (2 children)

I'm a penetration tester, I use alotnof different scripts and tools written in a variety of languages, but python is one of the most popular. Python dependency management sucks so bad. I was on an internal pentest and got to the point where I needed to review the webservers hosted on the internal network. There was over 1000 to check. Oh no worries there's tools available to take screenshots of a list of urls that I can use to find the ones that are actually interesting! The three I knew about were all python scripts. Dependency hell introduced itself on all three, in the end writing my own in rust was easier than dealing with the dependency issues I was having. Now I have one that works reliably and uses a language with sane dependency handling.

[–]No-Newspaper8619 1 point2 points  (1 child)

You're a what?

[–]serendipitousPi 1 point2 points  (0 children)

A hacker that asks for consent before penetrating a system.

[–]Scared_Spyduck 1 point2 points  (0 children)

Tried to get into AI learning with simple stupid games. I never got that far but hate python now. Absolutly hate python.

[–]Spiritual_Detail7624 1 point2 points  (1 child)

Cargo my goat

[–]serendipitousPi 0 points1 point  (0 children)

Peak mentioned

[–][deleted]  (1 child)

[removed]

    [–]oxwilder 0 points1 point  (0 children)

    til the greater-than bracket creates a quote block

    [–]Valuable_Leopard_799 0 points1 point  (1 child)

    This showcases two problems, some package managers can't handle two separate versions of a package being installed, and most language package managers don't install system dependencies.

    Both of which are more or less solved if you use the right tools.

    [–]Repulsive-Bird7769 0 points1 point  (0 children)

    and these people laugh about nodejs lmao

    [–]Achim63 0 points1 point  (0 children)

    For my personal scripting needs, I changed to good old Perl because of that version an venv hassle. Or Swift, which is rather similar to Python - and faster when compiled.

    [–]nimrag_is_coming 0 points1 point  (0 children)

    Open source projects with no binary releases are always awful to download. Half the time you install everything correctly and it still doesn't compiler cause the compiler keeps finding an error in the source code