| F9 | 편집창의 코드를 실행합니다. (Ctrl+Enter도 동일) |
| F2 | 내 컴퓨터의 .py / .txt 파일을 편집창으로 불러옵니다. |
| F4 | 편집창의 코드를 파일로 저장(다운로드)합니다. 파일 이름은 편집창 위에서 바꿀 수 있습니다. |
| F8 | 편집창·출력창 배치를 순환합니다 (왼쪽 → 오른쪽 → 위 → 아래). |
| F11 | 편집창의 내용을 한 번에 지웁니다. 실수했다면 Ctrl+Z로 되돌릴 수 있습니다. |
| F1 | 이 도움말을 엽니다 / 닫습니다. |
| F3 | 파이썬 가이드(문법 + JS 비교 + 실습편)를 엽니다 / 닫습니다. |
| Tab | 공백 4칸 들여쓰기. 여러 줄을 선택한 상태에서는 블록 들여쓰기가 됩니다. |
상단 엔진 드롭다운에서 코드를 실행할 파이썬 엔진을 고를 수 있습니다. 기본값은 Skulpt입니다. 엔진은 처음 선택할 때 한 번만 불러오며, 로컬 폴더가 있으면 오프라인으로, 없으면 온라인(CDN)으로 동작합니다.
| Skulpt 기본 |
순수 JavaScript로 만든 가벼운 엔진(수백 KB). 서버 없이 file://에서도 즉시 켜집니다. 문법 학습·알고리즘 연습에 적합. 표준 라이브러리는 일부만 지원하고 numpy 같은 외부 패키지는 사용할 수 없습니다. |
| Brython 가벼움 |
역시 순수 JavaScript 엔진. 표준 라이브러리 지원 범위가 Skulpt보다 넓고 최신 문법 호환이 좋은 편입니다. 서버 없이 동작합니다. 외부 C 패키지(numpy 등)는 불가. |
| Pyodide 완전판 |
WebAssembly로 컴파일된 진짜 CPython. numpy·pandas 등 실제 패키지까지 쓸 수 있지만 용량이 수십 MB로 무겁고, 오프라인에서는 로컬 서버가 필요합니다(아래 설치·세팅 참고). |
권장: 가볍게 배우거나 빠르게 켜고 싶으면 Skulpt/Brython, numpy·pandas 등 진짜 라이브러리가 필요하면 Pyodide.
1) 파일 받기
github.com/pyodide/pyodide/releases 에서 pyodide-0.23.4.tar.bz2(패키지 포함 전체판)를 내려받아 압축을 풉니다. numpy 등이 필요 없으면 더 작은 core판도 가능합니다.
2) 폴더 배치
압축을 푼 폴더 이름을 pyodide로 바꿔 이 HTML 파일과 같은 위치에 둡니다.
📁 내폴더/
├─ python-interpreter.html
└─ 📁 pyodide/
├─ pyodide.js
├─ pyodide.asm.wasm
├─ pyodide-lock.json
└─ ... (그 외 파일들)
주의: pyodide/pyodide/... 처럼 폴더가 한 번 더 중첩되면 인식되지 않습니다. pyodide.js가 pyodide 폴더 바로 아래 보여야 합니다.
3) 로컬 서버로 열기 (가장 중요)
크롬·엣지는 file://로 연 페이지에서 .wasm 로드를 보안상 차단합니다. 폴더에서 간단한 서버를 한 번 띄워 http:// 로 여세요.
python -m http.server 8000 → http://localhost:8000/python-interpreter.html
파이썬이 없다면: npx serve(Node), VS Code의 "Live Server" 확장도 됩니다. 파이어폭스는 file://로도 대체로 동작합니다.
4) 온라인 호스팅에 올릴 때
pyodide 폴더를 HTML과 함께 통째로 업로드하고, 경로(대소문자 포함)가 정확한지 확인합니다..wasm 파일을 application/wasm MIME 타입으로 제공해야 합니다. 일부 호스팅은 기본 설정이 안 되어 있어 엔진 로딩이 실패합니다. (예: Nginx types { application/wasm wasm; }, Apache AddType application/wasm .wasm)5) 외부 패키지
온라인이면 import numpy처럼 쓰기만 해도 PyPad가 실행 직전 자동으로 내려받습니다. 목록에 없는 순수 파이썬 패키지는 import micropip; await micropip.install("이름") 으로 설치합니다. 오프라인에서 패키지를 쓰려면 core판이 아닌 전체판을 받아야 합니다.
Skulpt / Brython 을 직접 넣고 싶다면(완전 오프라인) 각각 libs/skulpt/, libs/brython/ 폴더에 배포 파일을 두면 됩니다.
아래 설명은 Pyodide 기준입니다(WebAssembly로 컴파일된 진짜 CPython이라 일반 파이썬과 거의 동일). Skulpt·Brython은 더 가벼운 대신 표준 라이브러리 지원 범위가 좁고 외부 패키지를 쓸 수 없습니다.
① 표준 라이브러리 — 즉시 사용 가능 (온/오프라인 모두)
math, random, statistics, decimal, fractions, cmathcollections, itertools, functools, heapq, bisect, arrayre, json, csv, string, textwrap, base64, hashlibdatetime, time, calendario, os, pathlib, sys, shutil (브라우저 안의 가상 파일시스템에서 동작)sqlite3, typing, dataclasses, enum, unittest, asyncio, pickle 등 대부분② 외부 패키지 — 온라인 상태에서 자동/수동 설치
온라인이라면 import numpy처럼 그냥 import만 해도 PyPad가 실행 전에 자동으로 내려받습니다. Pyodide가 공식 지원하는 주요 패키지:
numpy, scipy, sympypandas, scikit-learn, networkxregex, pillow(이미지), beautifulsoup4, lxml, pyyaml 등 100여 종목록에 없는 순수 파이썬 패키지(PyPI)는 micropip으로 설치할 수 있습니다:
import micropip
await micropip.install("패키지이름") # 최상위 await 사용 가능
③ 사용할 수 없는 것
tkinter, PyQt 등 (브라우저에는 데스크톱 창이 없음)subprocess, multiprocessing, threading의 스레드 생성socket 직접 통신 (requests류는 제한적으로 가능)※ input()은 브라우저 입력 대화상자로, print()는 실행창으로 연결되어 있습니다.
증상 1. "파이썬 엔진(Pyodide)을 찾지 못했습니다"
pyodide 폴더가 없는 상태입니다. github.com/pyodide/pyodide/releases에서 pyodide-0.23.4.tar.bz2(전체판)를 받아 압축을 풀고, 폴더 이름을 pyodide로 하여 HTML 옆에 두세요.pyodide.js, pyodide.asm.wasm 파일이 바로 보여야 합니다. (중첩 폴더 주의: pyodide/pyodide/… ✗)증상 2. 엔진 파일은 있는데 "초기화 실패"가 뜸
file://로 직접 연 페이지에서 wasm 로드를 차단합니다. 폴더에서 로컬 서버를 한 번 띄워 여세요:
python -m http.server 8000 → 브라우저에서 http://localhost:8000 접속파이썬이 없는 PC라면: VS Code의 "Live Server" 확장, 또는 Node의
npx serve도 됩니다. 파이어폭스는 file://로도 대체로 동작합니다.pyodide.asm.wasm 크기가 수 MB 이상인지 확인하고, 아니면 다시 받으세요.증상 3. 오프라인에서 import numpy 등이 실패
증상 4. 코드 강조가 사라지고 기본 편집기로 표시됨
libs/codemirror/ 폴더에 codemirror.min.js, codemirror.min.css, python.min.js, closebrackets.min.js와 테마 CSS를 넣으세요. (VS Code Dark+/Light+ 테마는 내장이라 파일이 없어도 동작)PyPad — 브라우저에서 동작하는 온/오프라인 겸용 파이썬 인터프리터
엔진: Pyodide 0.23.4 · 편집기: CodeMirror 5
(C) 2026, nanosoftweb.com