Это зависит от проекта.
Если вы работаете над библиотекой, вы хотите разместить свои зависимости в setup.py
, так что если вы поместите библиотеку в PyPi, люди смогут ее установить и ее зависимостями автоматически.
Если вы работаете над приложением в Python (возможно, веб-приложение), файл requirements.txt
будет проще для развертывания. Вы можете скопировать весь свой код туда, где он вам нужен, настроить виртуальную среду с помощью virtualenv или pyvenv, а затем сделать pip install -r requirements.txt
. (Вы должны делать это и для развития, чтобы у вас не было беспорядка библиотек по всему миру).
Как только вы установили их, вы можете установить пакеты, которые вы устанавливаете, на свой requirements.txt
, чем пытаться выяснить, какие из них вам нужны в конце. То, что я делаю так, чтобы я никогда не забывал, сначала пишу пакеты в файл, а затем устанавливаю с pip install -r
.
pip freeze
помогает, если вы забыли, что вы установили, но вы всегда должны прочитать созданный файл, чтобы убедиться, что вам действительно нужно все, что там есть. Если вы используете virtualenv, это даст лучшие результаты, чем если бы вы устанавливали все пакеты по всему миру.
Надеюсь разработчик использовал virtualenv и ограничил модули, установленные только для проекта, иначе вы получите каждый модуль, установленный глобально в системе. Он по-прежнему будет работать, но вы получите много модулей, которые, вероятно, не используются. – veroxii