python webview_除非我打开两个webview,否则Pywebview会阻止flask应用程序

我用一个相当简单的flask后端构建了一个python桌面webapp,目前我只通过Chrome提供服务。我试图用pywebview打包它,但是遇到了一个集成的障碍。在

我在包的主文件中有如下代码:import os

import sys

from flasher import app

import httplib

import webview

import threading

def start_prod_server():

runserver(debug=False, reloader=False)

def start_gui():

webview.create_window("MyAppName", "http://localhost:5000", height=1000)

def runserver(debug=True, reloader=False):

port = int(os.environ.get('PORT', 5000))

url = "http://localhost:{}".format(port)

print("ready!")

app.run(host='::', port=port, debug=debug, use_reloader=reloader)

if __name__ == '__main__':

t = threading.Thread(target=start_prod_server)

t.daemon = True

t.start()

# This never works

threading.Timer(1.5, start_gui).start()

sys.exit()

这几乎是系统性的失败,窗口显示为空白,后端不响应任何内容(包括来自单独桌面浏览器的请求)。在

我无意中发现,如果我启动两个webview线程,它总是有效的:

^{pr2}$

是什么引起的?我对Python中线程的理解相当有限,所以我不知道该去哪里看看。这可能是pywebview中的一个bug,还是我的线程出了问题?在

我也对webview部分的替代方案持开放态度,但我希望保留python/flask部分,因为应用程序已经可以正常工作了。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值