pip freeze requirements.txt — команда, которая позволяет создать текстовый документ в котором перечислены все установленные и необходимые для работы Python приложения программные пакеты (чаще всего Django).
Список всех пакетов можно посмотреть выполнив pip freeze — стандартный вывод производится на экран. Обычно эту информацию сохраняют в файл, который оставляется в корне приложения и переносится на другой сервер вместе с ним.
Перенос проекта на Python с pip freeze и requirements.txt
На исходном сервере выполняем следующую команду указывая путь к файлу, в котором будет сохранена информация, которая потребуется для корректной работы проекта
pip freeze > requirements.txt
Если используется виртуальное окружение команду нужно выполнять в нем.
Виртуальное окружение можно активировать выполнив source /project-folder/bin/activate
Установка всех пакетов по списку производится при выполнении
pip install -r requirements.txt
Внесение изменений в requirements.txt вручную является не самой лучшей практикой поскольку автоматическая установка пакетов их этого файла в большинстве случаев окажется невозможна.
Также при запуске сайта после переноса может оказаться полезной команда (часто после переноса проект запускается, статическое содержимое при этом не отдается)
python manage.py collectstatic
Она позволяет собрать статику в STATIC_ROOT. При этом если существуют файлы с одинаковым именем обработан будет только один из них (какой файл использует сайт можно выяснить при помощи findstatic — используется так — django-admin.py findstatic /path/to/the/folder, в выводе будут все файлы изображений, CSS стилей и т.п.; также команду можно запускать с ключом —first. в этом случае в вывод попадет только первое вхождение, далее поиск прекратится).
Запускается проект (в случае Django) стандартно с указанием файла django-admin.py и имени проекта
python django-admin.py startproject projectname
Читайте про if __name__ == '__main__' , констркуцию, присутствующую почти в каждом Python модуле