问题标签 [pyodide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3458 浏览

python - 如何在浏览器中重定向/渲染 Pyodide 输出?

我最近遇到了Pyodide 项目

我已经使用 Pyodide 构建了一个小演示,但是虽然我花了很多时间查看源代码,但对我来说如何重定向print来自 python 的输出(除了修改 CPython 源代码)并不明显(还),而且,如何将输出从 matplotlib.pyplot 重定向到浏览器。

从源代码来看,FigureCanvasWasm确实有一个show()带有适当后端的方法,用于绘制到浏览器画布 - 但是,我不清楚如何实例化这个类并调用它的show()方法,或者实际上是否有另一种更明显的重定向方式绘制到画布上。

因此,我的问题是:

  1. 如何重定向print()消息
  2. 如何强制 pyodide 在浏览器中绘制 matplotlib 图形?

这是我的测试页面:

0 投票
1 回答
182 浏览

python - 在 Pyodide 中检查 Python 对象

Pyodide是相当新的,但我很想知道是否有一种方法可以让用户检查 Python 对象,就像他们可以使用 Js 对象一样。例如,现在如果您print在 pyodide 中使用 dict,则输出是一个字符串:

图片

但是如果你console.log是一个 JavaScript 对象,它会输出一些浏览器可以理解的东西,你可以点击展开查看它的属性。

图片

对于调试,我认为这种实用程序是必要的,几乎所有的 IDE 都有它。使用 pyodide 创建一个完整的 Python 环境,我不认为这太难了。

0 投票
2 回答
500 浏览

javascript - Pyodide - 如何打印结果

我确实知道一点 Python,但是对 Pyodide 还是陌生的,并且没有 Javascript 方面的经验。我正在寻找一种在浏览器中显示结果的简单方法:

在这个 Pyodide 演示https://alpha.iodide.io/notebooks/300/之后,我认为它可能与如何在 javascript 中打印矩阵有关?

0 投票
2 回答
353 浏览

python - 想知道 pyodide js 是如何工作的?

我正在对 pyodide js 进行一些研发,并在我的本地系统上实现它时遇到了一些问题..

那是我在浏览器上遇到的控制台错误..请建议如何解决这个..

pyodide.js:309 GET http://localhost:9090/pyodide.asm.wasm 404(找不到文件)index.html:1 未捕获(承诺中)类型错误:无法在“WebAssembly”上执行“编译”:HTTP 状态代码不正确 pyodide.js:85 GET http://localhost:9090/pyodide.asm.data.js net::ERR_ABORTED 404(找不到文件)

0 投票
1 回答
869 浏览

javascript - 如何使用 pyodide 在项目中导入模块而不会出错?

每当我在 pyodide 中导入 python 模块时,都会出现此错误。

我不确定如何正确导入模块,我已经尝试过文档中提到的这个。

(这会返回一个关于我运行此方法的解决方案的承诺)

执行后,我收到上述错误。

Javascript代码:

这个问题可能不清楚,但如果您在理解某些内容时遇到困难,请告诉我。

另外,方法中传递的字符串runPython()是python代码,只是为了避免混淆。

我什至尝试将模块上传到服务器,因为文档提到了使用 HTTP 协议的 URL,尝试这样做非常愚蠢,但我做到了。

文档:https ://pyodide.readthedocs.io/en/latest/using_pyodide_from_javascript.html#loading-packages

0 投票
1 回答
535 浏览

python - 在pyodide中运行pytorch?

有什么方法可以在 pyodide 中运行 python 库 pytorch?我尝试使用 micropip 安装 pytorch,但它给出了以下错误消息:

找不到“pytorch”的纯 Python 3 轮子

0 投票
2 回答
83 浏览

python - 允许保留关键字作为 CPython 中的方法

看起来 Python 有一个不能用作方法名称的保留关键字列表。例如,

返回一个SyntaxError: invalid syntax。有一种方法可以解决它getattr/setattr

工作正常。但是,a.finally()仍然会产生一个SyntaxError: invalid syntax.

有没有办法避免它?更具体地说,从源代码(或代码补丁)编译 CPython 3.8 时是否有一些设置可以避免此错误?

请注意,同样的错误发生在 PyPy 3 中。

上下文是在将 CPython 构建到 WebAssembly 的 Pyodide 中,可以将 Javascripts 对象传递给 Python。并且由于目前的限制,目前,Python 代码Promise.new(...).then(...).finally(...)会出现语法错误(参见GH-pyodide#769

0 投票
2 回答
457 浏览

javascript - 如何从 index.html 向 Vue.js 3 实例发送消息?

所以,想象一下 Vueindex.html还加载了一些自定义脚本:

有没有办法从文件中与正在运行的 Vue 实例或/和 Vuex 进行通信index.html?例如,我想在脚本完全加载之前显示“正在加载...”等。

  • 一种方法是将消息发送到 service worker,然后从 service worker 发送到 Vue,但感觉不切实际。

  • 另一种方法是windows.script_status = true在初始化之后设置,但是window对象不是响应式的,所以 Vue 会检查一次,获取undefined并忘记它。

  • script.onloadUPD:第三种方法是从 Vue 端注入脚本,并在它准备好时放入一些函数,但不确定解决方案有多稳定。

所以,任何建议都可以:)

0 投票
2 回答
521 浏览

python - 如何在浏览器中复制/下载在 Pyodide 中创建的文件?

我设法在浏览器中运行 Pyodide。我创建了hello.txt文件。但是我怎样才能访问它。
Pyodide
https://github.com/iodide-project/pyodide/blob/master/docs/using_pyodide_from_javascript.md

我在 chrome devtools 中尝试了什么?

输出为listdir

输出为realpath

还,

输出

chrome devtools 控制台中的所有输出。

它是在根文件夹中创建的。但是如何在文件资源管理器中访问它或将文件复制到下载文件夹?

谢谢

0 投票
1 回答
185 浏览

python - 为什么带有pyodide和python模块的wep页面无法在iOS上加载,但可以在Android和桌面上加载?

我创建了一个简单的应用程序,使用 pyodide从 csv、tsv 或文本文件中导出Anki平台。它在桌面和安卓上运行良好。但是该页面无法在 iOS 上加载。是什么原因,我该如何解决?

链接到我的包含 pyodide 的网页。
https://infinyte7.github.io/Anki-Export-Deck-tkinter/

网页源代码
https://github.com/infinyte7/Anki-Export-Deck-tkinter/tree/master/docs

谢谢