Metadata-Version: 2.4
Name: pyclass-notebook
Version: 1.1.0
Summary: 설치 없이 동작하는 주피터형 파이썬 실행 GUI (표준 tkinter, 서버 없음)
Author: PyClass Notebook
License: MIT
Keywords: python,notebook,jupyter,tkinter,education,teaching,ipython
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Education
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# 수업 파이썬 노트북 (PyClass Notebook)

수업 실습용 **주피터형 파이썬 실행 GUI**입니다.
메모장에 저장하거나 `cmd`에서 실행할 필요 없이, 셀에 코드를 쓰고 단축키로 바로 실행합니다.

- **설치 불필요** — 파이썬 표준 라이브러리(tkinter)만 사용 (앱 자체는 추가 패키지 0개)
- **서버 없음** — 웹 브라우저·localhost·포트 사용 안 함
- **설치된 파이썬 선택** — PC에 있는 파이썬을 자동 검색해 드롭다운에서 선택 (+ exe는 *내장 파이썬* 포함)
- **변수 상태 유지** — 셀 사이에 변수·함수가 이어짐 (주피터처럼)
- **다크 / 라이트 테마** 토글 — **코드창은 다크, 결과창은 라이트 '종이' 톤**으로 가독성↑
- **matplotlib 그래프**를 셀 아래 인라인 이미지로 표시
- **`input()` 대화형 입력**, **한글 출력** 정상 지원
- **GUI 안에서 `pip` 설치** (선택한 파이썬으로 설치)
- **`.py` 저장/열기** (`# %%` 셀 구분자 — VS Code·주피터 호환)

---

## 실행 방법

### 1) EXE — 가장 쉬움 (파이썬 없어도 앱 실행)
`dist\PyClassNotebook.exe` 파일 하나만 배포하면 됩니다. 더블클릭하면 바로 실행됩니다.

- exe 안에 **내장 파이썬 + matplotlib** 가 들어 있어, 파이썬이 없는 PC에서도 코드가 돌아갑니다.
- PC에 파이썬이 설치돼 있으면 상단 드롭다운에서 골라 쓸 수 있습니다(그쪽은 `pip` 설치도 가능).

직접 빌드하려면:
```bat
build_exe.bat
```

### 2) pip 설치 (파이썬 수업 환경에 가장 자연스러움)
파이썬이 이미 있는 환경이라면 `pip` 로 설치해 명령 한 줄로 실행합니다.

```bash
pip install git+https://github.com/USER/pyclass-notebook.git
pyclass-notebook
```

로컬 폴더에서 바로:
```bash
pip install .
pyclass-notebook
```

PyPI에 올렸다면:
```bash
pip install pyclass-notebook
pyclass-notebook
```

### 3) 더블클릭 / 직접 실행 (설치 없이)
- `실행.bat` 더블클릭 (콘솔창 없이 뜸)
- 또는 터미널에서:
```bash
python pyclass_notebook.py
```
> 필요 조건: PC에 파이썬 설치 (python.org 설치본은 tkinter 기본 포함).

---

## 사용법
1. 상단에서 **파이썬**을 선택합니다(자동 검색됨). 목록에 없으면 **🔍 찾아보기**로 `python.exe` 지정.
   - exe로 실행하면 **번들 파이썬 (내장)** 이 목록에 함께 나옵니다.
2. 셀에 코드를 입력하고 **`Ctrl+Enter`** 또는 **`Shift+Enter`** 로 실행합니다.
3. **▶ 전체 실행** = 모든 셀을 위에서부터 순서대로 실행.
4. **↻ 변수 초기화** = 지금까지 만든 변수를 모두 지움(커널 리셋).
5. **■ 중단** = 무한루프 등으로 멈췄을 때 커널을 다시 시작.
6. **📦 pip 설치** = 필요한 라이브러리(numpy, pandas 등)를 선택한 파이썬에 설치.
   - *번들 파이썬(내장)* 에는 pip 설치가 안 됩니다 → 시스템 파이썬을 선택하세요. (numpy·matplotlib는 내장에 이미 포함)
7. **💾 저장 / 📂 열기** = 저장 위치를 직접 고르는 파일 창.

단축키
- `Ctrl+Enter` / `Shift+Enter` : 현재 셀 실행
- `Tab` : 들여쓰기

---

## 수강생에게 배포하기

### A. exe 배포 (권장)
`dist\PyClassNotebook.exe` 를 **zip으로 압축**해 전달합니다.
(이메일·메신저가 `.exe` 를 막을 수 있어 zip 권장. 백신 오탐 시 예외 등록 안내.)

### B. pip 배포 (GitHub)
```bash
cd pyclass-notebook
git init && git add . && git commit -m "수업 파이썬 노트북"
git branch -M main
git remote add origin https://github.com/USER/pyclass-notebook.git
git push -u origin main
```
수강생:
```bash
pip install git+https://github.com/USER/pyclass-notebook.git
pyclass-notebook
```

### C. PyPI 배포(선택)
```bash
pip install build twine
python -m build
twine upload dist/*
```
→ `pip install pyclass-notebook`

---

## 실행 구조 (참고)
코드는 앱 내부가 아니라 **선택한 파이썬을 백그라운드 워커(커널)로 띄워 그곳에서** 실행됩니다.
그래서 exe·pip·더블클릭 어느 방식으로 앱을 켜도 동일하게 동작하고, 셀 사이 변수 상태가 유지됩니다.
exe의 *번들 파이썬* 은 exe 자신을 커널 모드(`--kernel`)로 재실행해 사용합니다.

## 문제 해결
- **"파이썬을 찾지 못함"** → exe라면 *번들 파이썬(내장)* 선택. 아니면 python.org에서 설치(설치 시 *Add python to PATH* 체크) 또는 **찾아보기**로 지정.
- **그래프가 안 보임** → 선택한 파이썬에 matplotlib가 없는 경우. **📦 pip 설치**로 `matplotlib` 설치(내장 파이썬에는 이미 포함).
- **한글이 깨짐** → 이 앱은 UTF-8을 강제하므로 정상 표시됩니다.
- **exe가 백신에 걸림** → PyInstaller 단일 exe의 흔한 오탐입니다. 예외 등록하거나 pip 방식으로 사용하세요.

## 요구 사항
- 코드 실행용: **Python 3.8+** (tkinter 포함) — 단, exe는 내장 파이썬이 있어 없어도 실행
- exe 빌드용: **PyInstaller** (`build_exe.bat`가 자동 설치)

## 라이선스
MIT
