首页 > 解决方案 > 使用 cx_Freeze 捆绑 Flask 应用程序时出现“ValueError: Invalid async_mode specified”

问题描述

我正在构建一个在 Windows 中使用 Waitress、Flask 和 Flask_SocketIO 的 API。从命令行一切正常,但是当我尝试使用 cx_Freeze 将我的 API 捆绑到 .exe 中然后运行它时,我收到错误:

ValueError: Invalid async_mode specified

关于这个问题,我唯一能找到的是python-socketio github thread。为了解决这个问题,该线程中有很多好的建议可以尝试,但我已经尝试了每一件事,但仍然有相同的结果。

我怀疑我缺少一个模块,但我不知道如何具体找出缺少哪个模块。有人对尝试的事情有任何建议吗?即使它不能直接解决我的问题,知道如何深入堆栈跟踪以查找丢失的模块也会有所帮助。

标签: pythonflaskcx-freezeflask-socketiowaitress

解决方案


这在使用 pyInstaller 时让我很困扰。我尝试向 hiddleImports 添加许多不同的模块,但后来意识到您只需要在 py 文件中提及以下内容。

from engineio.async_drivers import gevent

希望这也适用于 cx_freez。


推荐阅读