Похоже, у вас, в основном, проблемы не с самим Python, а с IDE.
"Плохая документация API"
К какому API? Сам Python, Qt или какая-то другая библиотека, которую вы используете?
"отсутствует завершение кода (из-за динамической типизации)"
Пока вы не делаете ничего волшебного, я считаю, что PyDev чертовски хорош в выяснении этих вещей. Если он потерян, вы всегда можете напечатать подсказку, выполнив:
assert isinstance(myObj, MyClass)
Затем PyDev предоставит вам завершение кода, даже если myObj происходит из динамического контекста.
«необходимость импортировать каждый модуль, который я использую в каждом другом модуле, становится утомительной, если иметь один класс на модуль»
Установите расширения PyDev, он имеет авто-импорт на лету. Или соберите весь свой импорт в отдельный модуль и выполните:
from mymodulewithallimports import *
«необходимо выбрать правильный модуль для запуска программы»
В Eclipse вы можете установить файл запуска по умолчанию или просто установить флажок «использовать последнюю конфигурацию запуска». Тогда вам никогда не придется выбирать его снова.
"до того, как вы узнаете о многих очевидных опечатках и других ошибках"
Установите расширения PyDev, он имеет более продвинутую проверку синтаксиса и с радостью уведомит вас о неиспользованных импорте / переменных, неинициализированных переменных и т. Д.