Сборщик для python-программ, очевидно, не нужен. Управление зависимостями делается с помощью
pip.
Оптимальная структура зависит от конкретной области применения. Для django-проекта одна, для gui-приложения другая. Как и в Java.
Про создание и тиражирование модулей
всё есть в документации.
Для модульного тестирования, как и в Java, есть несколько библиотек. Выбирайте подходящую и читайте её документацию.
Сам язык рекомендую изучать по "Изучаем Python" Марка Лутца (
том 1 и
том 2)