作者: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 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

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猫

如何免安装使用 Python?推荐 17 个在线的 Python 解释器!的更多相关文章

  1. 零基础入门学习Python(17)--函数:Python的乐高积木

    前言 相信大家小时候都玩过神奇的乐高积木, 只要通过想象力和创造力我们可以拼凑很多神奇的东西,那么随着我们学习的深入,我们编写的Python代码也将日益增加,并且也越来越复杂, 所以呢,我们需要找寻一 ...

  2. Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目 ...

  3. Python的安装以及编译器推荐

    1.Python的安装和环境配置 1.首先进入Python官网https://www.python.org/downloads/下载安装文件. 2.打开安装文件选择自定义(customize inst ...

  4. 免安装方式的Python之VSCode环境配置

    概述 本文旨在介绍免安装方式,在VSCode中搭建Python(3.73)的配置环境.至于Python是什么.它能做些什么,诸如此类的介绍均不在此文中介绍,相信能看此文的人,多多少少都会有些了解. V ...

  5. python免安装版(绿色版)制作

    一.实验环境 1.Windows7x64_SP1 二.需求背景 个人编写了一个软件安装器,用于一键安装开发软件及工具,该工具基于python + pywinauto. 但问题来了,新电脑上未安装pyt ...

  6. 如何在Eclipse中配置Tomcat(免安装版)

    如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到:   2013-10-10 17:10提问者采纳 ...

  7. win10平台mysql5.6.34免安装版(绿色版zip)的配置以及密码和编码设置

    平台:win10 X64 mysql: mysql-5.6.34-winx64.zip 以下所写都是本人测试过的,力争无误.上次发布了,可是发现了一些问题,特地查了一下官方文档(我会说我是用有道词典翻 ...

  8. MYSQL 免安装版(windows 7/64)

    本文介绍在本地安装MYSQL数据库,免安装版相关配置 一.下载 mysql下载地址1:http://dev.mysql.com/downloads/mysql/ 二.解压MySQL压缩包 将已下载的M ...

  9. mysql.zip免安装版配置

    MYSQL ZIP免安装版配置 1. 下载MySQL 选择自己想要的.本次安装.我使用的是mysql-5.6.17-winx64  地址:http://dev.mysql.com/downloads/ ...

随机推荐

  1. 从零开始Blazor Server(15)--总结

    我们用了14篇文章,基本上把一个后台管理系统需要的UI部分都说的差不多了.所以这套文章也该到了结束的时候了. 这里面有很多问题,比如我们直接使用UI来拉数据库信息而没有使用service,再比如我们大 ...

  2. EntityFrameworkCore 模型自动更新(下)

    话题 上一篇我们讨论到获取将要执行的迁移操作,到这一步为止,针对所有数据库都通用,在此之后需要生成SQL脚本对于不同数据库将有不同差异,我们一起来瞅一瞅 SQLite脚本生成差异 在上一篇拿到的迁移操 ...

  3. Gitea v1.17.0 正式发布 | 集成软件包管理器、容器镜像仓库

    我们自豪地宣布 Gitea v1.17.0 发布了.本次发布带来了诸多新特性和累积的更新,我们强烈建议用户在更新到最新版本之前仔细阅读发行注记. 在 1.17.0 版本的开发中我们一共合并了 645 ...

  4. Andrej Karpathy | 详解神经网络和反向传播(基于 micrograd)

    只要你懂 Python,大概记得高中学过的求导知识,看完这个视频你还不理解反向传播和神经网络核心要点的话,那我就吃鞋:D Andrej Karpathy,前特斯拉 AI 高级总监.曾设计并担任斯坦福深 ...

  5. 使用脚本在FTP上传、下载文件

    由于最近勒索病毒变种又一次爆发,公司内部封锁了TCP 445端口.导致原来通过文件共享的方式上传下载的计划任务无法执行.所以,我开设了FTP服务器来完成这个工作. 关于如何建立FTP服务器,请看这里 ...

  6. KMP&Z函数详解

    KMP 一些简单的定义: 真前缀:不是整个字符串的前缀 真后缀:不是整个字符串的后缀 当然不可能这么简单的,来个重要的定义 前缀函数: 给定一个长度为\(n\)的字符串\(s\),其 \(前缀函数\) ...

  7. synchronized锁详解

    synchronized的意义 解决了Java共享内存模型带来的线程安全问题: 如:两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果是 0 吗?(针对这个问题进行分析 ...

  8. 获取Docker容器名称和ID

    docker ps --format "{{.Names}}" docker ps -q

  9. 4.maven私服nexus2迁移到nexus3

    注意,本文讲解的是针对我们原来所用的nexus2.14.5版本的升级配置流程,如果您的老私服版本并不是这个,那么请先参考这里:升级兼容性 – Repository Manager 2到3.选定对应可升 ...

  10. 记录Gerrit2.8.4环境迁移、安装、配置以及问题解决

    转载自:https://cloud.tencent.com/developer/article/1010629 说到gerrit,没听说的同学可能会感到比较陌生,那么先来copy一段关于gerrit的 ...