Sorry Python but it is what it is.

    • Farent@lemmy.scam-mail.me
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Isn’t it called a requirements.txt because it’s used to export your project requirements (dependencies), not all packages installed in your local pip environment?

    • JakobDev@feddit.de
      link
      fedilink
      arrow-up
      8
      arrow-down
      2
      ·
      1 year ago

      Yes, but this file is created by you and not pip. It’s not like package.json from npm. You don’t even need to create this file.

      • theFibonacciEffect@feddit.de
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        1 year ago

        Well if the file would be created by hand, that’s very cumbersome.

        But what is sometimes done to create it automatically is using

        pip freeze > requirements. txt

        inside your virtual environment.

        You said I don’t need to create this file? How else will I distribute my environment so that it can be easily used? There are a lot of other standard, like setup.py etc, so it’s only one possibility. But the fact that there are multiple competing standard shows that how pip handles this is kinds bad.

        • JakobDev@feddit.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          If you try to keep your depencies low, it’s not very cumbersome. I usually do that.

          A setup.py/pyproject.toml can replace requirements. txt, but it is for creating packages and does way more than just installing dependencies, so they are not really competing.

          For scripts which have just 1 or 2 packges as depencies it’s also usuall to just tell people to run pip install .

        • Vash63@lemmy.world
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          1 year ago

          I work with python professionally and would never do that. I add my actual imports to the requirements and if I forget I do it later as the package fails CI/CD tests.