Pyinstaller编译python项目为exe遇到的问题,flask服务无法启动

SocketIO(app)无法启动,提示ValueError: Invalid async_mode specified

需要安装以下包:
gevent gevent-websocket
然后SocketIO不需要设置async_mode,并且使用pyinstaller的时候需要设置–hidden-import

–hidden-import 是 PyInstaller 打包工具的一个命令行选项,它用于指定程序运行时可能会动态导入的模块,但是这些模块在静态分析时可能没有被检测到。使用
–hidden-import 选项可以确保这些模块被包含在最终打包的可执行文件中。

有些文件夹或文件在exe运行时的临时运行路径中没有

为什么我会发现这个,因为pyinstall打包的时候不添加 -w 参数可以显示出一个cmd窗口,可以查看运行的状态
回到上面的问题,这是因为有时候pyinstaller可能并不会将你项目下所有的文件夹都包含到临时运行路径中;这个时候就需要使用pyinstaller的–add-data

–add-data 是 PyInstaller 的一个命令行选项,它用于将非代码文件添加到打包的应用程序中。这些文件可以是图像、数据表、证书文件等等,任何程序在运行时需要的额外资源。在打包应用程序时,PyInstaller
不会自动包含这些资源文件,所以 --add-data 用来显式指定它们。

使用方法:
详细请看我的: Pyinstaller编译python项目为exe遇到的问题,flask服务无法启动
http://livestrue.xyz/article/detail/13

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值