• brucethemoose@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    2 months ago

    It’s kind of crazy how problematic pip is, though. There are enormous ecosystems like conda, poetry, arguably Docker all built around “pip not working right.”

    I see so many people want to install vllm or something with like a 95% crash and burn rate if they aren’t already proficient with Docker, complete with the spare disk space to basically ship a whole other machine.

    Meanwhile, massively complex Rust or Go or whatever packages… just work. With the native tooling, for me.


    To be clear, I like Python, and I believe many issues can be smoothed with time (like improving its JIT and maybe encouraging more typing in codebases). But pip and its ecosystem are forever cursed.

    • rothaine@lemmy.zip
      link
      fedilink
      arrow-up
      14
      ·
      2 months ago

      People used to shit on npm all the time, and I believed them, because I didn’t have experience with anything else.

      Then I tried pip. Holy…I had to beg npm forgiveness for ever doubting it

      • tyler@programming.dev
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        2 months ago

        npm was bad, for a very long time. Then they fixed it, because they actually listened to other languages and did what they did. Python still refuses to do that. It’s quite insane because Ruby has had a solution for 15+ years at this point and Python could have directly copied it but refuses to. Python is absolutely the worst language I know of in regards to tooling.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      9
      ·
      2 months ago

      pip is easily the worst thing about Python. But now that we have uv I would say the worst thing is the package/import system. I’m pretty sure only 1% of developers understand it, and it only really works properly if your Python code is a Python package.

      If you treat Python as a scripting language and just scatter loose files around your project and run them directly, it doesn’t work at all. Pain everywhere. Which is dumb as fuck because that’s like 80% of how people use Python.

      • brucethemoose@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 months ago

        Ugh yes I hate the import system too. I have to look it up every time and still don’t understand it, and it’s a hair away from messing up existing projects to the point where sometimes it does.

        I want to love uv, but:

        • It breaks some random compiled C packages. I ran into this the other day, and the associated issue on the package was basically “shrug we see it’s breaking, this dev is doing some weird shit”

        • I’d prefer to use the optimized/patched build of Python CachyOS provides (and the optimized Python compiled system packages), though this is largely OCD.

        • It’s not optimal for some PyTorch stuff, which is its own little ecosystem nightmare