Я пытаюсь подать cherrypy заявку с wxpython ui. Проблемой являются оба обработчики событий замкнутого цикла использования библиотек. Существует ли путь к этому для работы? Если у меня есть wx ui, запускаются, cherrypy то, что, собираясь запирать ui?
См. мой ответ в CherryPy препятствует зависанию в Windows
Короче говоря, по умолчанию CherryPy обрабатывает основной цикл, но в этом нет необходимости. Прекратите использовать quickstart и вызовите engine.start без engine.block, и CP будет работать в своих собственных потоках и оставит основной поток для управления другим фреймворком.
Я бы рекомендовал вам взглянуть на источник Calibre (менеджер электронных книг) . Он написан на PyQT, но использует CherryPy для того, чтобы люди могли просматривать свою библиотеку вне своей локальной сети.
.Если вы используете многопотоковое соединение, вы должны иметь возможность запустить сервер CherryPy в одном потоке и запустить wxPython в другом. Эта статья (http://wiki.wxpython.org/LongRunningTasks) в wxPython wiki содержит некоторую информацию о многопоточности, а исходный код сервера CherryPy (http://www.cherrypy.org/browser/trunk/cherrypy/wsgiserver/__init__.py) содержит некоторую документацию о том, как работает сервер, и, возможно, как вы можете заставить его взаимодействовать с потоками.
Одним из способов их развязки было бы запустить их как два отдельных процесса и заставить их взаимодействовать через некий механизм IPC. Возможно, вам придется написать небольшой адаптер, чтобы они говорили по общему протоколу.
Так как вы делаете CherryPy, вы также можете разоблачить интерфейс управления через HTTP, который графический интерфейс wx может использовать для управления вашим сервером.