Pyinstaller 打包flask_socketio为exe程序后出现:ValueError: Invalid async_mode specified
一、详细描述问题描述
| Traceback (most recent call last): File "app_3.py", line 22, in <module> File "flask_socketio\__init__.py", line 186, in __init__ File "flask_socketio\__init__.py", line 242, in init_app File "socketio\base_server.py", line 34, in __init__ File "engineio\base_server.py", line 94, in __init__ ValueError: Invalid async_mode specified |
二、解决方法
1.确认flask_socketio的版本,如 flask_socketio version>5.x 。则不需要async_mode=‘’参数。使用 pip show flask_socketio 命令查看版本,版本信息如下。
| Name: Flask-SocketIO Version: 5.5.1 |
可运行的最小基础代码如下,可在该代码验证环境是否正常,index.html为首页可在template文件夹中自行创建。注意allow_unsafe_werkzeug=True,这个配置必须添加。否则会出现错误。
| app = Flask(__name__) |
index.html文件如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<h1>Welcome to My Flask App!</h1>
<p>This is a simple welcome page.</p>
</body>
</html> |
2. 使用pyinstaller命令打包,这一步打包后会生成一个配置参数文件app.spec。注意确保
确保根目录下有templates, static两个文件夹。
| pyinstaller --onefile --noconsole --add-data="templates;templates" --add-data="static;static" app.py |
3. 打包完成后,找到app.spec配置文件。完成如下操作:
(1)在相关的行,强制添加如下库的依赖。信息如下。
| a = Analysis( |
(2)修改配置,开启后台运行窗口模型
| exe = EXE( |
(3)删除原来的dist、bulid文件文件,使用 pyinstaller app.spec命令重新打包。
| pyinstaller app.spec |
4. 打包完成后,找到app.exe文件,点击后。exe程序将以黑窗口模式后台运行。




![[物联网iot]对比WIFI、MQTT、TCP、UDP通信协议](https://i-blog.csdnimg.cn/direct/cb73323f30824085b063cfb2f7f6f2c3.png)

![P4305 [JLOI2011] 不重复数字](https://i-blog.csdnimg.cn/direct/1e5a4ac616ea4152a1e897b50c9df629.png)









![[王阳明代数讲义]琴语言类型系统工程特性](https://i-blog.csdnimg.cn/direct/14f55fd4b0f8468687f14a83387fbdb0.png#pic_center)



