Goodbye manage.py. Да-да, чувак советует выкинуть manage.py. Модные ребята делают так:

  1. Для проекта в __init__.py делается функция, которая делает всё то же, что делал manage.py.
  2. Для проекта пишется setup.py, в котором эта функция указывается в качестве entry_points.
  3. Внутри virtualenv появляется скрипт для запуска этой точки входа.

Плюсы:

  1. Можно держать несколько точек входа.
  2. Меньше всяких чертовых файлов.
  3. Можно импортировать проект ото всюду. И запускать его можно из любой директории. Больше не нужно пилить по директориям до файла. Просто workon и запуск точки входа.
  4. Это pythonic, ведь для всех нормальных проектов делается https://setup.py. Чем проект на Django хуже?