Один из способов ускорить цикл разработки - сохранить процесс Python, чтобы вы
нужно загрузить пакеты только один раз.
Вместо , запускающего скрипт , упаковывает сам скрипт как модуль .
Откройте сеанс интерактивного Python (или, возможно, IPython ), импортируйте свой модуль, затем
"запустить скрипт", вызвав его основную функцию.
Если вы внесете изменения в скрипт, вам нужно будет только перезагрузить
модуль. Поскольку другие модули уже загружены, это должно быть относительно
быстрый. Поскольку Модули Python кэшируются , импорт одного и того же модуля во второй раз происходит практически мгновенно.
В Python перезагрузка может быть выполнена таким образом .
Или вы можете настроить IPython на автоматическую перезагрузку модулей или пакетов, когда они изменяют таким образом . В IPython также есть несколько приятных функций отладки, таких как % pdb , которые переводят вас в отладчик всякий раз, когда возникает необработанное исключение.
Итак, вместо вашего script.py выглядит так:
import xyz
statement1
statement2
statement3
Вы бы изменили его так, чтобы оно выглядело как
import xyz
def main():
statement1
statement2
statement3
# This allows you to still run your module as a script:
if __name__ == '__main__':
main()
Затем в интерактивном сеансе Python вы наберете
>>> import script
>>> script.main()
для запуска скрипта.