I stumbled upon this while researching package management options for python, and found it a really interesting read.

I like python as a language but this mess is something that needs to be addressed for me to consider python for future projects. I can’t imagine how confusing it must be for new users.

  • @Fenzik@lemmy.ml
    link
    fedilink
    English
    210 months ago

    But if I want to add a single new dependency, then I probably don’t want all the rest updated at the same time

    • @coffeewithalex@lemmy.world
      link
      fedilink
      English
      210 months ago

      That can’t be achieved due to dependency compatibility. What if you installed y==1.4, and froze it for a while, and then you install x==3.2, and it depends on y==1.5 or later?

      pyproject.toml defines dependency restrictions, so it will be in accordance with that, but the lock file will change every time you add/remove dependencies. Naturally.

      • @Fenzik@lemmy.ml
        link
        fedilink
        English
        110 months ago

        I don’t find that behaviour natural unless there is a hard conflict or I request it. So I guess it’s just a philosophical difference that led me to having a bad tint with it.

        • @qwop@programming.dev
          link
          fedilink
          English
          310 months ago

          If you use poetry add it should only update what is necessary, and you can use poetry lock --no-update to lock without updating everything.