首页 > 编程语言 >如何免安装使用 Python?推荐 17 个在线的 Python 解释器!

如何免安装使用 Python?推荐 17 个在线的 Python 解释器!

时间:2022-11-02 21:14:01浏览次数:95  
标签:解释器 浏览器 17 Python 编辑器 https com 运行

作者:Al Sweigart

译者:豌豆花下猫@Python猫

英文:https://inventwithpython.com/blog/2022/10/30/17-online-python-ides-and-interactive-shellsrepls

转载请保留作者及译者信息!

安装 Python 很容易,但或许你正在用智能手机/平板电脑,在用不允许安装软件的电脑,或者因为其它原因无法安装 Python。那么,如何通过免安装的方式使用 Python 呢?

本文将介绍 17 个免费的 Python 解释器和交互式 Shell(也称为 REPL),你可以从 Web 浏览器中直接访问。(译注:国内访问部分网站不稳定,可以多试试,或者借助其它辅助上网的工具)

基于浏览器的 Python 解释器有一些缺点:

  • 不能使用 open() 函数读写文件,不能建立网络连接。
  • 不允许运行长时间的或者耗费大量内存的程序。
  • 无法安装第三方模块,如 NumPy、Pandas、Requests、PyAutoGUI 或 Pygame(尽管有些会预装这些模块)。
  • 有些 Python 特性可能被禁用了;在使用时需要个别注意。
  • 有些服务需要你注册一个免费帐户;如果你不想处理垃圾邮件,可以用 10 Minute Email 创建一次性的邮件帐户。

尽管有以上缺点,但是用它们来练习编写 Python 代码是足够的。

下面就是 Python 在线服务网站的列表。这不是一篇匆忙整理的标题党文章;我仔细检查了每一个网站,并按照个人的喜好顺序罗列出来。

注:本文不包含 Pypy、Jython、Nutika、IronPython 等知名的 Python 解释器,因为它们都不是在线服务。想了解这些解释器,可查看:11 个最佳的 Python 编译器和解释器

1、Python Tutor

https://pythontutor.com

我最喜欢的基于浏览器的 Python 文件编辑器就是 Python Tutor(Python 导师)。Python Tutor 内置了一个调试器,允许每次执行一行,并查看程序的单步执行情况。不仅如此,它还记录了程序在每一步的状态,因此你也可以后退。这是大多数调试器没有的特性。

Python Tutor 网站还支持 Java 8、Javascript ES6 和 C/C++(使用 GCC 9.3 编译器)。主要的缺点是,程序在运行时会有所限制(因为在结果返回到你的浏览器之前,程序是在它们的服务器上运行的),但是在大多数的练习例子中,你不会遇到什么问题。

2、Python Anywhere

https://www.pythonanywhere.com

PythonAnywhere 是最流行的基于浏览器的解释器之一。你必须先注册,是免费的。你可以存储 Python 脚本,或者无需登录而只使用它们的 IPython 交互式 Shell。(译注:毕竟是 Anaconda 出品,能秒杀大部分竞品)

这个服务允许你从一个虚拟硬盘中读写文件,它已经安装了许多流行的 Python 第三方模块。

它支持几个不同的 Python 版本,另外,它还被用于 www.python.org 网站上的交互式 Shell。

3、Replit

https://replit.com

Replit 需要注册一个帐户才能使用。用户界面有点复杂,因为它们有好几块功能,包括导航网站的帮助系统。该站点还有用于 C、C++、Java、Javascript 和其他几种语言的在线编译器。

Replit 还有一个 APP,可以在智能手机和平板电脑上使用。

4、Brython

https://brython.info/tests/console.html?lang=en

Brython 可以让 Web 浏览器像运行 JavaScript 一样运行 Python。一般在 Web 页面上用 JavaScript 做的事情,都可以用 Brython 来做。这意味着你在运行程序时没有内存或 runtime 的限制,因为它们是在你自己的计算机上运行。缺点是浏览器在加载网页时,必须先下载 6 M 的 Brython 代码。

你可以提前下载 Brython 到电脑上,并离线运行。首先,从 GitHub 上的 Brython 发布页面下载最新的版本(例如目前的 Brython-3.11.0.zip)。在解压后的目录中,创建一个名为 console.html 的文本文件(或任意以 .html 为后缀的名称),并写入以下内容:

<!doctype html>
<html>
<head>
    <script type="text/javascript" src="brython.js"></script>
    <script type="text/javascript" src="brython_stdlib.js"></script>
    <style>
    .codearea {
        background-color:#000;
        color:#fff;
        font-family:'Oxygen Mono', Consolas, 'Liberation Mono', 'DejaVu Sans Mono', monospace;
        font-size:14px;
        overflow:auto
    }
    </style>
</head>

<body onl oad=brython({"debug":1}) ><!-- remove the 1 to leave debug mode -->
    <noscript>Please enable Javascript to view this page correctly</noscript>

    <textarea id="code" class="codearea" rows="20" cols="100"></textarea>

    <script type="text/python3">
        from interpreter import Interpreter

        # Start an interactive interpreter in textarea with id "code"
        Interpreter("code")
    </script>
</body>
</html>

当在计算机上打开这个 .html 文件时,你将得到一个可运行的 Python 交互式 Shell。

5、Google Colab

https://colab.research.google.com

使用 Google 或 GMail 帐户,你可以访问这个 Jupyter Notebook 风格的 REPL,它提供了大量的内存和 CPU 资源。

6、Trinket

https://trinket.io

Trinket 是一个以教育为主的网站。你需要注册一个免费的帐户才能使用它,他们的交互式 Shell 还支持Turtle、Matplotlib 和其他模块,而许多在线 REPL 都不支持这些模块。

7、Python Fiddle

http://pythonfiddle.com

Python Fiddle 是一个简单的编辑器,允许你创建和运行 Python 脚本。它的用户界面太过丑陋了。。。(译注:不忍直视的页面!网站竟然支持两种语言,English与中文,我不经怀疑开发者的身份是……)

8、Programiz

https://www.programiz.com/python-programming/online-compiler

Programiz 有一个简单的文件编辑器。它不能写文件,运行资源也有限。该网站还有用于 C、C++、Java、C#、Javascript 的编译器,以及一个用于 SQL 数据库和 HTML/CSS 的沙箱。

9、Ideone

https://ideone.com

Ideaone 有一个丰富的编辑器,支持包括 Python 在内的多种编程语言(甚至有 Pascal、Fortran、Prolog 和 Cobol 等较老的语言,以及 Brainfuck 和 Intercal 等深奥的编程语言)。

它只有一个支持编写和运行程序的编辑器(有 5 秒的运行时长限制),但没有交互式 Shell。相比于用它写 Python,如果你想练习不太流行的语言,Ideaone 会是个不错的选择。

10、SymPy Live Shell

https://live.sympy.org

一个 Jupyter Notebook 风格的 REPL,带有一个很小的用户界面,非常适合简略的代码。它完全在浏览器中使用 JupyterLite 运行 JupyterLab,而不是在服务器上运行。

11、OnlineGDB

https://www.onlinegdb.com/online_python_interpreter

一个不错的编辑器,有一个很好的用户界面,不会让人不知所措。运行时和内存似乎也相当多。我推荐这个。

12、W3Schools Python Shell

https://www.w3schools.com/python/python_compiler.asp

W3Schools 有一个简单的 Python 编辑器,支持基本的语法高亮。它有大约 10 秒的运行时间限制,但是如果你的程序超出时间,它不会报错。如果是简单的例子,用起来很好。

13、Python原理在线解释器

https://pythonprinciples.com/online-python-interpreter

一个简单的文件编辑器,只能运行一些较为简单的代码。

14、Online Python 测试版

https://www.online-python.com

一个简单明了的 Python 编辑器,只能运行一些较为简单的代码。

15、TutorialsPoint

https://www.tutorialspoint.com/execute_python_online.php

一个简单易懂的编辑器,有较多运行资源。

16、RexTester

https://rextester.com/l/python3_online_compiler

这像一个业余项目,仅有极简的编辑器,有 5 秒的运行时间限制。它有其他语言的编译器,但网站难于浏览。

17、Portable Python

https://portablepython.com (不推荐)

这不是一个基于浏览器的 REPL,而是一个 .exe 文件,可以在 Windows 上运行 Python,而无需安装任何东西。然而,该网站自 2013 年(以及 Python 3.2)以来就没有更新过,下载页面也不使用 HTTPS。由于可能有恶意软件,我不建议使用它。

18、在线版 VS Code

https://vscode.dev

Visual Studio Code 是一个 Electron app,这意味着它可以作为一个普通的桌面应用程序,也可以基于浏览器来运行。浏览器版本有点受限,相比于其它在线解释器,使用这个在线 IDE 需要更陡的学习曲线。

不过,如果你愿意深入了解它,或者已经使用过 Visual Studio Code,那么可以试试这个基于浏览器的版本。

注:文中图片为译者所加。

首发于 Python猫 ,如需转载,请联系作者

知乎:Python猫

博客园:豌豆花下猫

掘金:豌豆花下猫

CSDN:Python猫

标签:解释器,浏览器,17,Python,编辑器,https,com,运行
From: https://www.cnblogs.com/pythonista/p/16852441.html

相关文章

  • python 魔术方法:序列语义方法 __len__/__detitem__/__setitem__/__delitem__
    python魔术方法:序列语义方法:1.作用:自定义序列的相关魔法方法允许我们自己创建的类拥有序列的特性,让其使用起来就像python的内置序列(dict,tuple,list,str,set)可......
  • python 魔术方法__str__及__repr__方法详解
    __str__方法__repr____str__自定义类的时候__str__方法的作用。这个魔术方法__str__主要的作用是在print(实例对象)的时候返回你指定的字符串,一般来说在定义类的时候不......
  • python 魔术方法__new__方法及单例模式
    PYhton当中的__new__:__new__方法:其实就是创建对象的方法,1.在内存中为实例对象分配空间2.返回对象的引用给Python解释器__new__方法始终都是类的静......
  • python题目:给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好
    //题目2:给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。//注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为......
  • python 魔术方法__enter__及__exit__上下文管理方法
    上下文管理器协议__enter____exit__方法with:上下文管理器协议:__enter__:进入上下文(with操作对象时)__exit__:退出上下文(with中的代码块执行完毕之后)with是用来启动......
  • 20201317 LYX 第12章 块设备I/O和缓冲区管理
    第12章块设备I/O和缓冲区管理知识总结解释块设备I/O的原理和I/O缓冲的优点介绍Unix的缓冲区管理算法利用信号量设计新的缓冲区管理算法,以提高I/O缓冲区的缓存效率和......
  • python面向对象推导流程
    举例:猫狗大战#1.例如我们要编写一个猫狗对战小游戏#首先我们要定义一个猫,和一只狗cat1={'name':'小白猫','type':'宠物猫','attack_val':20,......
  • python基础入门之面向对象
    python基础入门之面向对象面向对象前戏之人狗大战"""编写代码简单的实现人打狗,狗咬人的小游戏(剧情需要,人与狗是好朋友)"""#推导步骤1:代码定义出人和狗person1={'......
  • Python学习路程——面向对象
    Python学习路程——面向对象编程思想'''面对过程编程: 过程即流程,面向过程就是按照固定的流程解决问题 需要列举出每一步的流程,并且随着步骤的深入,问题的解决也越来越......
  • Python模块之paramiko的基本使用
    简介paramiko是一个基于SSHv2协议的纯Python(2.7,3.4+)库;提供了客户端和服务器的功能;可以实现SSH2远程安全连接,支持认证和密钥方式;一般用于执行远程命令、传输文件、中间......