除了使用 Jython 和小程序之外,还有其他方法可以在浏览器中执行 python 代码吗?
执行不必处理与图形相关的任何事情。例如,只需将二进制 1Gb 文件(由浏览器用户选择)的所有数字相加,然后将结果返回给服务器。
我知道python可以在浏览器之外远程执行,但我的要求是在浏览器内完成。
当然,我认为用户将保留执行或不执行的权利是理所当然的,并且会被要求这样做,以及所有这些安全问题......但这不是我的问题。
除了使用 Jython 和小程序之外,还有其他方法可以在浏览器中执行 python 代码吗?
执行不必处理与图形相关的任何事情。例如,只需将二进制 1Gb 文件(由浏览器用户选择)的所有数字相加,然后将结果返回给服务器。
我知道python可以在浏览器之外远程执行,但我的要求是在浏览器内完成。
当然,我认为用户将保留执行或不执行的权利是理所当然的,并且会被要求这样做,以及所有这些安全问题......但这不是我的问题。
Pajamas项目有一个名为 pyjs 的编译器,它将 Python 代码转换为 Javascript 。
nosklo 的回答是错误的: pyxpcomext for firefox 添加了 language="python" 对脚本标签的支持。是的,这是一个高达 10mb 的插件,但这就是生活。我认为最好参考http://wiki.python.org/moin/WebBrowserProgramming,因为那里记录了 python 和 Web 浏览器技术之间所有已知的文档链接:您可以在那里选择。
不久前,我整理了一张比较许多 Python-In-Browser 技术的表格:http: //stromberg.dnsalias.org/~strombrg/pybrowser/python-browser.html
不,你不能。
现代浏览器只运行 javascript 或插件。您可以开发自己的 python 插件并说服人们下载并运行它,但我想这属于“不在浏览器内部”类别。
你是说客户端?
当然可以!但是您需要先在客户端上安装 python。
链接的书描述了为了使用客户端活动脚本,您可以使用一个简单的html
文件对其进行测试。
<html><body>
<script language='Python'>alert("Hello, Python!")</script>
</body></html>
在该书(Mark Hammond,Andy Robinson 在 Win32 上进行 Python 编程)中提到的旧版本中,它说您需要安装Python Win32 扩展,它会自动注册 Python Active Scripting。如果您手动执行此操作,则必须运行脚本python\win32comext\axscript\client\pyscript.py
。
http://repl.it/ - 在客户端运行的 JavaScript 中的 Python 解释器。还有很多其他语言。源代码在 MIT 许可下可用,这很棒。
您现在(2016 年)也可以使用:
它将 Python 3.6(包括多重继承、运算符重载、所有类型的推导、生成器和迭代器)编译为精简和快速的 JS,支持使用 sourcemaps 进行源代码级调试和使用 mypy 进行可选的静态类型检查。
免责声明:我是该项目的发起人。
偶然我听了Hanselminutes,他提到了格式塔项目。这是通过 Silverlight 在浏览器中集成 IronRuby 和 IronPython 等语言的解决方案。
因此,如果您没有任何特殊插件,我认为答案是否定的。
Brython -“用于客户端 Web 编程的 Python 3 实现”