问题标签 [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.
python - 如何在浏览器中重定向/渲染 Pyodide 输出?
我最近遇到了Pyodide 项目。
我已经使用 Pyodide 构建了一个小演示,但是虽然我花了很多时间查看源代码,但对我来说如何重定向print
来自 python 的输出(除了修改 CPython 源代码)并不明显(还),而且,如何将输出从 matplotlib.pyplot 重定向到浏览器。
从源代码来看,FigureCanvasWasm确实有一个show()
带有适当后端的方法,用于绘制到浏览器画布 - 但是,我不清楚如何实例化这个类并调用它的show()
方法,或者实际上是否有另一种更明显的重定向方式绘制到画布上。
因此,我的问题是:
- 如何重定向
print()
消息 - 如何强制 pyodide 在浏览器中绘制 matplotlib 图形?
这是我的测试页面:
python - 在 Pyodide 中检查 Python 对象
Pyodide是相当新的,但我很想知道是否有一种方法可以让用户检查 Python 对象,就像他们可以使用 Js 对象一样。例如,现在如果您print
在 pyodide 中使用 dict,则输出是一个字符串:
但是如果你console.log
是一个 JavaScript 对象,它会输出一些浏览器可以理解的东西,你可以点击展开查看它的属性。
对于调试,我认为这种实用程序是必要的,几乎所有的 IDE 都有它。使用 pyodide 创建一个完整的 Python 环境,我不认为这太难了。
javascript - Pyodide - 如何打印结果
我确实知道一点 Python,但是对 Pyodide 还是陌生的,并且没有 Javascript 方面的经验。我正在寻找一种在浏览器中显示结果的简单方法:
在这个 Pyodide 演示https://alpha.iodide.io/notebooks/300/之后,我认为它可能与如何在 javascript 中打印矩阵有关?
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(找不到文件)
javascript - 如何使用 pyodide 在项目中导入模块而不会出错?
每当我在 pyodide 中导入 python 模块时,都会出现此错误。
我不确定如何正确导入模块,我已经尝试过文档中提到的这个。
(这会返回一个关于我运行此方法的解决方案的承诺)
执行后,我收到上述错误。
Javascript代码:
这个问题可能不清楚,但如果您在理解某些内容时遇到困难,请告诉我。
另外,方法中传递的字符串runPython()
是python代码,只是为了避免混淆。
我什至尝试将模块上传到服务器,因为文档提到了使用 HTTP 协议的 URL,尝试这样做非常愚蠢,但我做到了。
文档:https ://pyodide.readthedocs.io/en/latest/using_pyodide_from_javascript.html#loading-packages
python - 在pyodide中运行pytorch?
有什么方法可以在 pyodide 中运行 python 库 pytorch?我尝试使用 micropip 安装 pytorch,但它给出了以下错误消息:
找不到“pytorch”的纯 Python 3 轮子
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)
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.onload
UPD:第三种方法是从 Vue 端注入脚本,并在它准备好时放入一些函数,但不确定解决方案有多稳定。
所以,任何建议都可以:)
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 控制台中的所有输出。
它是在根文件夹中创建的。但是如何在文件资源管理器中访问它或将文件复制到下载文件夹?
谢谢
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
谢谢