1na1
@1na1
Hello, world!

Как запустить несколько фреймворков одновременно?

Всем привет!

Существует оконное приложение, написанное с использованием PyQt5. Необходимо, чтобы к нему можно было обратиться через два интерфейса - окно PyQt и вызовом API. Для построения API используется FastAPI.

Проблема заключается в том, что запуск приложения PyQt командой app.exec_() блокирует дальнейший ход выполнения программы и FastAPI (uvicorn.run(...)) не запускается. Естественно как только завершается приложение PyQt исполнение кода продолжается и сразу запускается FastAPI.

Аналогично с другими фреймами - хочу узнать как запускать несколько фреймворков (по сути приложений) как одно логическое приложение с несколькими модулями.

Мой вопрос:

Как можно запустить приложение, использующее несколько фреймворков одновременно?
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Никак, не надо смешивать мягкое с тёплым. Если хотите сделать два интерфейса, то делаете ядро приложения с API, web-приложение и gui-приложение, использующие API ядра. И все три запускаться должны отдельно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Технически можно запускать их в разных потоках. Но это чревато кучей других проблем, типичных для многопоточности.
Может, имеет смысл переделать приложение на PyQT так, чтобы оно само использова FastAPI как бэкэнд?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы