安装 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
pythontutor.com
我最喜欢的基于浏览器的 Python 文件编辑器就是 Python Tutor(Python 导师)。Python Tutor 内置了一个调试器,允许每次执行一行,并查看程序的单步执行情况。不仅如此,它还记录了程序在每一步的状态,因此你也可以后退。这是大多数调试器没有的特性。
Python Tutor 网站还支持 Java 8、Javascript ES6 和 C/C++(使用 GCC 9.3 编译器)。主要的缺点是,程序在运行时会有所限制(因为在结果返回到你的浏览器之前,程序是在它们的服务器上运行的),但是在大多数的练习例子中,你不会遇到什么问题。
2、Python Anywhere
www.pythonanywhere.com
PythonAnywhere 是最流行的基于浏览器的解释器之一。你必须先注册,是免费的。你可以存储 Python 脚本,或者无需登录而只使用它们的 IPython 交互式 Shell。(译注:毕竟是 Anaconda 出品,能秒杀大部分竞品)
这个服务允许你从一个虚拟硬盘中读写文件,它已经安装了许多流行的 Python 第三方模块。
它支持几个不同的 Python 版本,另外,它还被用于 www.python.org 网站上的交互式 Shell。
3、Replit
replit.com
Replit 需要注册一个帐户才能使用。用户界面有点复杂,因为它们有好几块功能,包括导航网站的帮助系统。该站点还有用于 C、C++、Java、Javascript 和其他几种语言的在线编译器。
Replit 还有一个 APP,可以在智能手机和平板电脑上使用。
4、Brython
brython.info/tests/conso…
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 onload=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
colab.research.google.com
使用 Google 或 GMail 帐户,你可以访问这个 Jupyter Notebook 风格的 REPL,它提供了大量的内存和 CPU 资源。
6、Trinket
trinket.io
Trinket 是一个以教育为主的网站。你需要注册一个免费的帐户才能使用它,他们的交互式 Shell 还支持Turtle、Matplotlib 和其他模块,而许多在线 REPL 都不支持这些模块。
7、Python Fiddle
pythonfiddle.com
Python Fiddle 是一个简单的编辑器,允许你创建和运行 Python 脚本。它的用户界面太过丑陋了。。。(译注:不忍直视的页面!网站竟然支持两种语言,English与中文,我不经怀疑开发者的身份是……)
8、Programiz
www.programiz.com/python-prog…
Programiz 有一个简单的文件编辑器。它不能写文件,运行资源也有限。该网站还有用于 C、C++、Java、C#、Javascript 的编译器,以及一个用于 SQL 数据库和 HTML/CSS 的沙箱。
9、Ideone
ideone.com
Ideaone 有一个丰富的编辑器,支持包括 Python 在内的多种编程语言(甚至有 Pascal、Fortran、Prolog 和 Cobol 等较老的语言,以及 Brainfuck 和 Intercal 等深奥的编程语言)。
它只有一个支持编写和运行程序的编辑器(有 5 秒的运行时长限制),但没有交互式 Shell。相比于用它写 Python,如果你想练习不太流行的语言,Ideaone 会是个不错的选择。
10、SymPy Live Shell
live.sympy.org
一个 Jupyter Notebook 风格的 REPL,带有一个很小的用户界面,非常适合简略的代码。它完全在浏览器中使用 JupyterLite 运行 JupyterLab,而不是在服务器上运行。
11、OnlineGDB
www.onlinegdb.com/online_pyth…
一个不错的编辑器,有一个很好的用户界面,不会让人不知所措。运行时和内存似乎也相当多。我推荐这个。
12、W3Schools Python Shell
www.w3schools.com/python/pyth…
W3Schools 有一个简单的 Python 编辑器,支持基本的语法高亮。它有大约 10 秒的运行时间限制,但是如果你的程序超出时间,它不会报错。如果是简单的例子,用起来很好。
13、Python原理在线解释器
pythonprinciples.com/online-pyth…
一个简单的文件编辑器,只能运行一些较为简单的代码。
14、Online Python 测试版
www.online-python.com
一个简单明了的 Python 编辑器,只能运行一些较为简单的代码。
15、TutorialsPoint
www.tutorialspoint.com/execute_pyt…
一个简单易懂的编辑器,有较多运行资源。
16、RexTester
rextester.com/l/python3_o…
这像一个业余项目,仅有极简的编辑器,有 5 秒的运行时间限制。它有其他语言的编译器,但网站难于浏览。
17、Portable Python
portablepython.com (不推荐)
这不是一个基于浏览器的 REPL,而是一个 .exe 文件,可以在 Windows 上运行 Python,而无需安装任何东西。然而,该网站自 2013 年(以及 Python 3.2)以来就没有更新过,下载页面也不使用 HTTPS。由于可能有恶意软件,我不建议使用它。
18、在线版 VS Code
vscode.dev
Visual Studio Code 是一个 Electron app,这意味着它可以作为一个普通的桌面应用程序,也可以基于浏览器来运行。浏览器版本有点受限,相比于其它在线解释器,使用这个在线 IDE 需要更陡的学习曲线。
不过,如果你愿意深入了解它,或者已经使用过 Visual Studio Code,那么可以试试这个基于浏览器的版本。