Sorry Python but it is what it is.

      • Farent@lemmy.scam-mail.me
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        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
        3
        ·
        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
          4
          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.

          • Vash63@lemmy.world
            link
            fedilink
            arrow-up
            3
            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.

          • JakobDev@feddit.de
            link
            fedilink
            English
            arrow-up
            2
            ·
            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 .