Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

“broken” is hyperbole. It works fine for millions of people every day. If you have some specific scenarios where you want it be better, it’s better to say those rather than just complain about an open source project.


Millions of people put it into Docker, or they just deal with it and you see the results with tons of Stackoverflow questions


> Millions of people put it into Docker, or they just deal with it and you see the results with tons of Stackoverflow questions

Arrogantly wrong.

I've coded in Python for almost 20 years. Many of those years I've had it as my primary language at work.

2024 was the first year I actually needed a virtualenv. Before that, I'd happily use pip to install whatever I want, and never had a version conflict that caused problems.

I often encounter junior folks who default to using a virtualenv, not because they need to, but because they've been brainwashed into believing that "you're doing it wrong if you don't use one".

In any case, people should use uv these days.


>2024 was the first year I actually needed a virtualenv. Before that, I'd happily use pip to install whatever I want, and never had a version conflict that caused problems.

Okay I'll bite: how did you deal with situations where you needed to work on two different projects that required different versions of the same dependency?


Some packages are written by researchers in fields that aren’t engineering. Sometimes you go all the way and reach for a VM.


I'm not denying that some need a VM or virtualenv. They exist for a reason.


I was talking about pip, not venv. I don't use venv either, not because I think it's a bad idea but because I can't be bothered. Stuff does end up conflicting unless I use Docker (lol) or uv.


If you use uv you are using virtual environments. You're merely being shielded from a few minutes worth of education about how they work (https://chriswarrick.com/blog/2018/09/04/python-virtual-envi...).


Well I also don't have to deal with the venv then, uv does it for me. Which I suspected is how it works, cause idk how else it would.


For some reason copying a venv directory causes problems with internal links. Fun all around.


The problem is twofold:

- all generated console scripts hardcode the path to python during creation for the shebang

- some of the binaries generated by install processes can link to absolute paths in the venv

Conda does quite a bit of work under the hood to reduce disk space and ran into related issues described here: https://docs.conda.io/projects/conda/en/stable/dev-guide/dee...


Well that explains why you think pip is broken


Because I went to the official pip "getting started" docs and did exactly what it says? It's bad even in venv though, like not managing your requirements.txt or installing conflicting stuff. The web is full of questions about this, with answers that involve installing some other thing.


pip freeze

but yes, pip predates the paradigm of package managers managing your dependency file instead of you managing your dependency file and then invoking the package manager


As another commenter alluded: It's clear your knowledge of the topic at hand is poor.

It's wise to keep silent in such cases.


Oh yeah, pip is actually right, and everyone is using it wrong




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: