简单的基于web的python 3 ide与brython和github集成

brython-server的Python项目详细描述


brython服务器

brython server是一个基于flask的web应用程序,专注于提供一个简单的 python 3开发环境,其中源文件托管在github上。

您可以尝试brython服务器 了解它的工作原理。

简要说明

加载页面后,可以立即开始编写Python3代码。到 执行代码,按开始!按钮。

GitHub支持

要加载托管在github上的python 3源代码,必须首先登录到 带有登录按钮的github。github将要求您授权brython服务器 在下一页中。

要加载源代码,请粘贴源文件或存储库的github url 进入页面顶部的文本控件。按<;enter>;加载 按钮从GitHub检索源。

您可以对源代码进行任何更改并重新运行它。如果你愿意 要将您的工作保存回github,只需按"提交"按钮即可。

谷歌硬盘支持

要加载存储在google drive帐户中的python 3源代码,首先 若要授予brython服务器访问您帐户的权限,请按 授权按钮,上面有Google Drive徽标。一旦您登录到 您的google帐户和给定的brython服务器(或运行在 brython服务器)访问驱动器文件的权限,您将拥有google驱动器 a加载和保存按钮。

google drive加载按钮可引导您选择标准的google drive文件 屏幕。只有兼容的文本文件可供选择。一旦你选择了一个文件, 文件的URL将显示在左上角的编辑窗口中。

google drivesave按钮将上载自 您下载了它,但前提是您拥有或拥有该文件的编辑权限。如果你没有 首先下载文件,保存按钮将提示您输入新文件名。 在本例中,brython服务器将创建一个新文件,其中您选择的名称位于根目录中 你的谷歌硬盘。

如果以前从google drive加载或刷新了现有文件,则 保存按钮将简单地用此后所做的任何更改创建您的文件。

授权google drive还会将brython服务器应用程序添加到google drive中。 这将在google drive中为您提供一个自定义的新文件类型,以及一个自定义选项 在google驱动器下,使用上下文菜单打开。

注意:不由brython服务器创建的文件可能无法从加载中打开 按钮,除非以前用google驱动器打开它们 菜单。

注意:您可以访问(但不能修改)任何公共github或google drive python源文件 登录github、google或创建帐户。您可以在本地编辑源文件 在浏览器中,但除非您登录,否则将无法提交任何更改 并有权这样做。

海龟

brython服务器支持python turtle 底层的brython解释器。它的用法很简单,但有点不标准。 例如:

frombrythonserverimportturtlet=turtle.Turtle()t.forward(100)t.right(90)t.forward(100)turtle.done()

ggame

brython服务器包括对ggame图形引擎的内置支持。例如, 一个来自 ggame文档

fromggameimportApp,ImageAsset,Sprite# Create a displayed object at 100,100 using an image assetSprite(ImageAsset("bunny.png"),(100,100))# Create the app, with a default stageAPP=App()# Run the appAPP.run()

展开

安装brython服务器的最佳方法是使用pip和virtualenv。创建和 激活您的虚拟环境,然后使用以下命令安装brython服务器:

pipinstallbrython-server

要求

当使用pip安装。 此外,您还需要安装 redis对于生产安装, gunicorn

brython服务器将使用brython 它的python解释器和ggame 作为它的图形引擎。将自动使用每个的正确版本 使用pip安装brython服务器时。

环境变量

能够与github交互的完整brython服务器安装 应该为生产使用设置多个环境变量:

GitHub功能所需:

  • github token(可选的github个人访问令牌)
  • github secret(github oauth secret)
  • github client id(github oauth客户端id)

谷歌硬盘功能所需:

  • google client id(google客户端id)
  • GoogleApikey(谷歌API密钥。brython服务器需要驱动器/文件 和文件选择器API)
  • GoogleAppID(谷歌应用程序ID)

创建"个性化"brython服务器实例所必需的:

  • 站点标题(将显示为"站点名称"的字符串)
  • 站点联系人(用于联系人的电子邮件地址)
  • siteurl(网站的完整url)
  • 烧瓶密钥(烧瓶应用密钥)

连接到非标准redis实例所必需的:

  • 重新发现(IP地址)
  • 重新发布(端口号)

注意:要生成唯一的随机烧瓶密钥,请在 python控制台:

>>>importos>>>os.urandom(24)

使用结果字符串作为flasksecret环境的值 变量。

执行

以独立开发模式运行服务器(不在生产环境中!) 从python 3 shell执行(例如):

Python3.7.0(default,Oct42018,21:19:26)[GCC5.4.020160609]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>frombrythonserver.mainimportAPPUpdateBrythonscriptstoverion3.7.3>>>APP.run(host="0.0.0.0",port=3000)*ServingFlaskapp"brythonserver.main"(lazyloading)*Environment:productionWARNING:Thisisadevelopmentserver.Donotuseitinaproductiondeployment.UseaproductionWSGIserverinstead.*Debugmode:off*Runningonhttp://0.0.0.0:3000/(PressCTRL+Ctoquit)

要在生产环境中运行服务器,请使用gunicorn:

$ gunicorn -b 0.0.0.0:3000 -w 4   brythonserver.main:APP

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带Maven的Eclipse Java存储库:缺少工件:compile   java如何以编程方式停止RMI服务器并通知所有客户端   java Roboguice抛出ClassNotFoundException:AnnotationDatabaseImpl   java为什么lucene 4.0删除IndexWriter类的两个构造函数?   nls如何避免java项目上不需要的日志消息?   测试无法在Selenium Webdriver(java)中定位iframe   使用XML的java servlet   java如何使用jxl用****屏蔽单元格   java使用SQLite从数据库中选择“没有这样的列”   导入扫描程序后出现java编译错误   插入查询的java空指针异常   使用创建PostgreSQL数据库。Java应用中的sql脚本   java使用jsoup将HTML解析为格式化的明文