问题 是否可以在chrome中运行本机python代码?


我想知道是不是 可以在chrome中运行本机python代码 而不是JavaScript。 我见过像这样的项目 pyjs 要么 brython,但他们所做的是将python编译为javascript。虽然这些都是很棒的项目,但这种方法的问题始终是您无法轻松调试原始的python代码。

除此之外,我偶然发现了这一点 线,描述如何为chromes-sandbox开发自定义代码。但这可能会导致在沙箱中实现python解释器,这将是一种过度杀伤力。

任何帮助表示赞赏! (我不想开始任何python与javascript讨论,但只是发现这是否可行,如果可行,该怎么做)

亲切的问候,
马尔科


2862
2018-05-06 23:59


起源

skulpt.org   ...但它也在改变它的引擎盖下的js - Joran Beasley
不幸 skulpt 正在做与brython和pyjs完全相同的事情 - 将python代码解析为javascript ...不在浏览器中本机运行 - Marco Pashkov
令人兴奋的消息!看看我更新的答案。 - Benjamin Gruenbaum


答案:


Python是一种编程语言,你不能 运行本机代码 编程语言但是,您可以在浏览器中运行用python编写的程序。

那么我可以在浏览器中运行python代码吗?

2013年6月更新: 现在可以使用Brython项目,让您在浏览器中运行Python 3代码。你可以看一下 http://www.brython.info/ 。

您可以使用 使用ECMAScripten在JavaScript中运行LLVM。这意味着您可以将C-python从C编译为JavaScript,并在浏览器中运行JS。 ECMAScripten wiki的链接提供了有关如何执行此操作的更多详细信息。

(这里有一个 现场演示 在浏览器中运行的python REPL)

还存在 蟒蛇2 在浏览器中工作的实现。

但我应该吗?

可能不是,JavaScript和python在很多方面都很相似,都是动态的,都很紧凑,都很聪明。如果您了解python,您可以非常快速地学习JavaScript。

如果您喜欢python的语法,您可能需要考虑 CoffeeScript的 它具有与Python类似的语法(有点类似于Ruby)并透明地编译为JavaScript。

在浏览器中运行python的解决方案也往往会慢得多,至少在更多浏览器支持asm.js之前(目前只有firefox每晚)。


13
2018-05-07 00:03



感谢您的回复本杰明!我知道你可能不应该因为某些原因这样做,但如果有一个简单的方法我会接受。我开发了许多语言,javascript可能是最容易学习的语言之一,但我不喜欢它的一些概念(例如:如何实现类 - 继承很难),这就是为什么我只是想看看我是否可以使用python工作。正如我所说,我不想开始任何讨论,但看看那里有什么,以及我如何利用它。 - Marco Pashkov
JavaScript中的继承是 死简单 ,我喜欢python如何处理基于类的继承,但JavaScript更简单imho。 var some2dPoint = {x:3,y:5}; var now3d = Object.create(some2dPoint);now3d.z=10。明确地查看CoffeeScript,它以一种让你感觉更有家的方式开设课程这里是关于CS课程的教程: arcturo.github.io/library/coffeescript/03_classes.html 。还可以看看 code.google.com/p/brython 虽然我无法让它与现有的代码库一起正常工作。一世 真 我认为你可以学习享受JavaScript,但我只是。 - Benjamin Gruenbaum
此外,值得一提的是,虽然你是原始的海报,我正在回答谁,即使你对这样的东西不感兴趣 我为什么要 SO是一个社区网站,我认为很多人会在浏览器中查看运行Python应该意识到它并不总是最好的主意。我认为JS非常称职(有些人会说python,甚至更多),我认为你真的很喜欢它,如果你试一试,它做的事情 不同 来自python,但它是为不同的东西而设计的。浏览器是一个异步和动态的环境,JS是为其构建的 那 - Benjamin Gruenbaum
谢谢,我来看看吧! - Marco Pashkov
它还没有。还在做更多的研究 - Marco Pashkov


我相信你可以用Javascript创建一个编译器来运行简单的python代码。可能还有一些可用的程序可以执行此操作。虽然,不可能直接通过Web浏览器运行python。


0
2018-02-08 18:42



JavaScript中已有几种Python解释器,包括 PyPy.js 和 Skulpt。 - Anderson Green