在 HTML 中运行 Python 脚本

4

我正在做一个学校项目。我之前写过很多Python脚本,想知道是否可以像JavaScript一样在HTML中导入Python?应该如何做到?例如,我想从Python脚本中显示一个时钟在我的网页上。


这里有一个使用Brython的时钟示例(http://brython.info/)。在这里,您可以看到如何使用多个时间功能(http://brython.info/static_doc/en/timer.html)。 - kikocorreoso
3个回答

4

有JS编写的Python实现,但是您无法在浏览器中“本地”运行Python,实际上可以通过JavaScript运行Python代码或将Python代码编译为JS(LLVM Emscripten)

您可以尝试以下工具:

在我看来,最值得一试的是pypy.js:

pypy.js是一个在web上构建快速和兼容的Python环境的实验。

它使用了通过emscripten编译为Web的PyPy Python解释器,并使用自定义的JIT后端在运行时发出asm.js代码。


Python在浏览器中的缺点:

  1. 性能较差(我发现只有Pypy.js提供基准测试),速度比N倍慢。
  2. JS解释器库(用于加载/运行Python代码)具有显著的大小,大约几MB。

这两个问题是原因,为什么这些项目可能不应该在生产中使用,在那个阶段,如果有的话。还有更多的缺点,如兼容性、实现完成度等。


你可以在这里看到几个选项的性能比较 - kikocorreoso
@kikocorreoso 我想到了与JS的比较。谢谢分享。 - kwarunek
根据你所做的事情,它可能非常相似或相当缓慢,因为底层正在执行许多Python机制的操作... - kikocorreoso

0

在HTML中,无法像导入JavaScript代码一样导入Python代码。JavaScript由客户端的浏览器执行,而浏览器没有包含Python解释器。如果您想在客户端执行Python代码,必须使用JavaScript来实现。


1
好的,有一个名为Skulpt的Python的JavaScript实现... http://www.skulpt.org - eph
听起来很酷。我从未听说过它,仍然不确定它是如何工作的。Python解释器完全是用JavaScript构建的吗?它可能只能使用一些标准包。 - Randrian

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接