如何在Python 3.12.0中使用CEF?因为当我尝试在Python中使用CEF时,它告诉我该版本不受支持。是否有适用于 Python 3.12.0 的 CEF 版本或任何等效版本?
版本:
Python:v3.12.0, VueJS:v3.4.15
我的代码:
import sys
from cefpython3 import cefpython as cef
VUE_APP_PATH = "app"
INDEX_HTML_FILE = VUE_APP_PATH + "/index.html"
settings = {
"context_menu": {"enabled": False},
"browser_subprocess_path": "%s/%s" % (cef.GetModuleDirectory(), "subprocess"),
"auto_zooming": "system",
"remote_debugging_port": 0,
}
def initialize_cef():
sys.excepthook = cef.ExceptHook
cef.Initialize(settings=settings)
cef.MessageLoop()
def run_vue_app():
browser = cef.CreateBrowserSync(url=INDEX_HTML_FILE, window_title="Vue App in CEF")
browser.SetClientHandler(LoadHandler())
browser.SetClientHandler(RequestHandler())
cef.MessageLoop()
cef.Shutdown()
class LoadHandler(object):
def OnLoadError(self, browser, frame, errorCode, errorText, failedUrl):
print("Error: {0}, {1}, {2}, {3}".format(errorCode, errorText, failedUrl, frame.GetUrl()))
class RequestHandler(object):
def OnBeforeBrowse(self, browser, frame, request, is_redirect):
url = request.GetUrl()
if url.startswith("http://") or url.startswith("https://"):
cef.QuitMessageLoop()
cef.Shutdown()
return False
return True
if __name__ == "__main__":
initialize_cef()
run_vue_app()
您不需要发布整个代码,错误将在
import
模块中引发
实际上,CEFPython仅支持Python 3.9或以下版本,MAC有一个非官方版本支持3.10
参见:
我有同样的问题,但我无法使用v3.9,我回答是因为我无法写评论
我会看这个问题,谢谢,祝你好运