← Back to context

Comment by Baldbvrhunter

2 years ago

welcome to venv, not just windows

Python really needs to fix this problem. The language is so full of warts that it's almost akin to the modern PHP.

I'm hoping for a Python version that makes this zen item [1] the number one priority:

> "There should be one-- and preferably only one --obvious way to do it."

[1] https://peps.python.org/pep-0020/

  • As a PHP developer I refuse to use Python because I know how unwieldy it's felt whenever I've had to do serious work with it.

    To each their own, but even PHP's setup these days is way ahead.

    • Composer autoloading is a brea to of fresh air compared to the python packaging Hydra. The only place Python does better is by having a manylinux base that enforces libraries, and provides a way for packages to include native libraries. PHP binary extensions (and similarly Ruby) are ver immature in comparison.

  • For real

    Where there is a choice there is a feud being born. And even worse the most basic it is

    At least we now have pyproject.toml, now we need stuff that upgrades the packages in a non-braindead way (and a lot of this is to blame on the maintainers)

    If there's one advantage on the "leftpad" way of doing things is that if js had as bad dependency resolution as python all js developers would have been unalived by dependency hell

Controversial opinion: the insistence on the venv bullshit is the stupidest decision made in programming languages in the past twenty years, and it is entirely unnecessary.

I've used Python for more than a decade on Arch Linux, across many machines at home and work. For essentially all of that time, I've been "sudo pip install"-ing to my heart's content. The number of times this has actually caused problems with my own Python scripts is less than the number of times I've had to help colleagues figure out venv bullshit in the past six months alone. The number of times that "sudo pip install" has caused breakage of anything except my own scripts is zero in ten years.

AFAICT the Python core team has essentially no understanding of the level of sophistication and the actual pain points experienced by 95% of Python users. Python is the software equivalent of duct tape, and it is used accordingly. Putting the duct tape in a box that is hard to open and covered with warning labels is not a meaningful improvement.