JS编写应用并调用Python。OS: Can‘t find Google Chrome installation报错解决。调用eel库时使用Edge浏览器及解决网页object Promise问题。

本文主要是介绍JS编写应用并调用Python。OS: Can‘t find Google Chrome installation报错解决。调用eel库时使用Edge浏览器及解决网页object Promise问题。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

问题重述

问题一

问题二

问题一的解决

与问题一相关的:Edge浏览器的环境变量设置

问题二的解决

运行结果

结语


问题重述

今天需要用JavaScript编写一个应用,其中部分功能需要调用Python函数。一番搜索之后,发现可以使用Python eel库,详细请参考js调用Python函数。于是,我马上安装eel库,版本号为0.16.0。但是,在实现的过程中遇到了一些问题并解决,如下:

问题一

0.16.0版本的eel库的默认使用的浏览器为chrome,而我只使用Edge浏览器。于是。当我调用eel库时,遇到了OSError: Can't find Google Chrome/Chromium installation报错,那么,如何把eel库使用的浏览器改为Edge呢?

问题二

在解决问题一之后,我的Python程序终于不报错了。但是,JavaScript使用eel调用Python函数后,在网页中显示的是[object Promise],又该如何解决?

问题一的解决

根据参考文章,我首先尝试简单试验,代码如下:

import eel@eel.expose
def my_add(a, b):return a+beel.init(r'C:')    #给出包含web文件的文件夹
eel.start('b.html')   #开始进入循环,自动启动你的主页

运行中,在eel.start一行给出报错:OSError: Can't find Google Chrome/Chromium installation


于是,我查看了eel库的源码,联系下面这三个文件,逐渐明白其中的原因,

__init__.py
browsers.py
edge.py

原理是把'mode'关键字的值修改为'edge'即可,修改之后的代码如下:

import eel@eel.expose
def my_add(a, b):return a+beel._start_args['mode']='edge'
eel.init(r'C:')    #给出包含web文件的文件夹
eel.start('b.html')   #开始进入循环,自动启动你的主页

与问题一相关的:Edge浏览器的环境变量设置

注意,如果你真的是Edge浏览器的使用者,
还需要把Edge浏览器的程序文件“msedge.exe”所在的路径添加到环境变量。

问题二的解决

根据参考文章,我编写了简单的html文件进行试验。理想的试验结果为,在网页中显示两数之和,即显示一个数字,但是显示的结果却是[object Promise]。

对于这个问题,向C知道提问“JavaScript如何解决返回[object Promise]”,它的回答如下:

 于是,我在代码中增加了.then(),修改之后,完整的HTML代码如下:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><script type="text/javascript" src="/eel.js"></script>
</head>
<body>JavaScript调用Python函数,运行结果如下:<p id="demo"></p><script>async function test() {const res = await eel.my_add(10, 15)().then();document.getElementById("demo").innerHTML = res;}test();</script>
</body>
</html>

运行结果

运行成功,截图如下:

结语

实现了“使用前端语言JavaScript调用Python函数来实现需求”的操作。

如有侵权请联系我删除。

这篇关于JS编写应用并调用Python。OS: Can‘t find Google Chrome installation报错解决。调用eel库时使用Edge浏览器及解决网页object Promise问题。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397777

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个