Python 布莱顿完全是客户端的吗?

Python 布莱顿完全是客户端的吗?,python,brython,Python,Brython,我有一段用Python编写的代码。我想把代码放在网页上。Brython似乎是将这两件事粘合在一起的最简单方法,但我没有一台服务器可以在服务器端实际运行代码 Brython是否需要服务器端代码,或者我是否可以使用Dropbox廉价地托管页面?Brython本身似乎完全是客户端,但这是否足够取决于您编写的代码。它不是一个成熟的Python解释器,也没有库。您可能希望后端支持它,或者按照注释中的建议使用另一个客户端解决方案 考虑到真正支持Python的web主机非常少,我认为Dropbox不太可能适合

我有一段用Python编写的代码。我想把代码放在网页上。Brython似乎是将这两件事粘合在一起的最简单方法,但我没有一台服务器可以在服务器端实际运行代码


Brython是否需要服务器端代码,或者我是否可以使用Dropbox廉价地托管页面?

Brython本身似乎完全是客户端,但这是否足够取决于您编写的代码。它不是一个成熟的Python解释器,也没有库。您可能希望后端支持它,或者按照注释中的建议使用另一个客户端解决方案


考虑到真正支持Python的web主机非常少,我认为Dropbox不太可能适合这种情况,以防您也需要在服务器上进行处理。

Brython非常新,因此变化非常迅速。但是,您几乎可以在任何地方使用它,而无需服务器端代码

一些可能性:

  • 本地运行,没有任何服务器。您可以在web浏览器中打开html文件
  • 在免费网站上运行,无需服务器端访问,如博客。例如,我使用blogger在我的博客上演示内容,如下所示
  • 在主机上运行,您可以在服务器端执行任务。这允许您执行Ajax(同一个域-检查库中的Ajax示例),并导入存储在服务器上的库
  • 将brython与您喜爱的web框架和模板引擎集成
需要明确的是,服务器上不需要python。如果无法链接到brython.js文件,可以在网页中包含javascript

至于语言支持,它确实支持所有的基础知识,并支持类、列表理解和一些不太明显的东西,如eval、dis等。有一个默认为web浏览器控制台的stdout和stderr,但可以重定向(请参阅brython网站上的控制台,以获取该示例)。它通过JSObject与javascript库很好地集成。它有很好的HTML5支持

英文和西班牙文文档稍微落后于法文文档,因为它们是从法文原文翻译过来的。他们应该在未来几天内恢复同步。不过,如果你看一下和,它会让你尝到什么是可能的

brython网站上有链接的邮件列表,可以在您陷入困境时提供支持


我本可以提供更多的示例和链接,但我是新手,所以我只限于超链接。

我了解到,Brython并不总是使用python代码

我认为需要澄清的是,虽然您可以通过本地访问文件以非常有限的容量运行brython(因为AJAX的要求),但您无法导入库,甚至不能导入最基本的库(例如html、time)。为了运行brython,您确实需要一个基本的web服务器


我发现它适合于基本脚本,因为我的python比我的JS好。不过,它似乎打破了更复杂的语法。

是的,brython完全是cliant的一方。 是的,你可以和Dropbox一起使用。 您需要做的是将公共链接复制到brython.js文件,并将其放置在html文件的head标记中,其中默认文本为:

<script src=...

请注意,与此问题无关,它目前只实现了非常小且有限的Python子集(甚至不是我上次检查的基本类!)。由于他们的方法是“尝试用JavaScript实现Python解释器”,我怀疑他们是否能在短期内实现90%的核心语言兼容性。@delnan诅咒道。我使用了类、运算符重载和各种细节。。。哦,好吧。相关问题:可以在brython中运行django吗?@g33kz0r:不可以。但您可能可以在Empythoned中运行它。更新:截至2014年底,brython的实现现在是该语言的一个非常大的子集,所有数据模型都可以运行,并且标准库本身也有很大一部分可以运行。你可以像Python一样编写代码,并在浏览器中看到结果。Dropbox实际上是一个文件存储服务,它有一个特殊的文件夹,可以从internet访问文件。一开始它甚至不是一个web主机。@badp这就是为什么我称其他真正的web主机为web主机的原因。我想Dropbox可能会被滥用为一个非常简单的库。如果您需要库,您可以使用(Emscripten上的CPython),如果它是客户端,则与web主机支持的内容无关。祝贺您第一次回答upvote,现在您可以将超链接发布到您的核心内容:)Brython自这个答案以来有所改进。现在,即使在本地访问文件时,它也会导入库,这对于嵌入脱机智能手机应用程序非常重要。
<html>

    <head>
        <script src="Public Dropbox Link To The brython.js File"></script>
    </head>

    <body onload="brython()">

        <script type="text/python">
        from browser import document, alert

        def echo(event):
            alert(document["zone"].value)

        document['mybutton'].bind('click', echo)
        </script>

        <input id="zone"><button id="mybutton">click !</button>

    </body>

</html>