Python Programming
  • Home
  • Intro
    • History & Background
    • Python Setup
  • Exercises
    • Chapter 5: Lists, Tuples, Sets
    • Chapter 6: Strings
    • Chapter 7: Dictionaries
    • Chapter 8: Control flow
    • Chapter 9: Functions
    • Chapter 14: Exceptions
    • Chapter 15: Classes
  • Exploring Data
    • NumPy & pandas
    • Inspecting data
    • Visualization
    • Plotting
  • Library System
  • Netflix Movie Analysis
  • References
    • QPB Part 1
    • QPB Part 2
    • QPB Part 3
    • QPB Part 4

On this page

  • 클라우드 환경
  • 로컬 환경
    • Conda
      • Miniconda 설치
      • Conda Environment
      • 환경(activated) 내에서 패키지 설치 및 제거
    • Standard
      • 가상환경 설정(venv)
      • 패키지 설치
      • 패키지 목록 관리 (재현성)
    • uv
      • 설치
      • Python 설치
      • 프로젝트 방식 (권장)
      • pip 호환 방식
      • 명령어 대응 정리
    • 개발 환경 (IDE)
      • Visual Studio Code
      • AI Code Editors
      • Jupyter Notebook/Lab
  • Github Copilot
  • VSCode 단축키

Python 설정

Python 코드를 실행하는 두 가지 형태의 파일

  • py script(.py) 파일을 CLI(Command Line Interface)에서 실행; 보통 쉘(Shell)이라고 부름

    (base) py-programming [main●●] % python test.py 
    Hello, World!
  • Jupyter Notebook(.ipynb) 파일에서 interactive하게 코드를 실행; 브라우저 혹은 IDE 기반의 대화형 개발 환경

    • Python과는 별도로 2001년 Fernando Perez에 의해 개발이 시작된 대화형 IPython (Interactive Python)을 기반으로 개발됨
    • IPython은 Jupyter(Ju-lia, Py-thon, R) 프로젝트 안에서 발전되었고,
    • 코드 뿐 아니라 텍스트, 데이터 시각화 및 기타 출력이 가능; 데이터 분석에서 주로 사용

Local vs. Cloud 환경

  • 로컬 환경
    • Jupyter Notebook/Lab: 웹 브라우저 기반의 대화형 개발 환경
    • Visual Studio Code: 통합 개발 환경 (IDE), Python extension을 통해 Python 코드와 Jupyter Notebook 파일 모두 실행 가능
      • Github Copilot: VS Code에서 제공하는 AI 협업 도구, 점차 통합되어 가고 있음
    • AI, 특히 LLM과 통합된 agent 기반의 IDE들이 등장하고 있음; Cursor, Windsurf 등
  • 클라우드 환경
    • Google Colab: 구글 드라이브에 통합, Jupyter Notebook 파일 실행 가능
    • Kaggle Notebook: Kaggle 데이터셋과 연동, Jupyter Notebook 파일 실행 가능
    • Github Codespace: 좀 더 유연한 개발 환경을 제공, 원격 저장소 제공

클라우드 환경

Colab

  • 사용법: Colab Welcome
  • 클라우드 환경 vs. 구글 드라이브 mount
  • 런타임의 Python 버전은 로컬 환경과 다를 수 있음(현재 3.12); !python --version으로 확인
  • Colab AI assistant: 현재는 Gemini로 통합되어 사이드 패널에서 사용
    • Data Science Agent: 데이터 파일을 올리고 원하는 분석을 자연어로 설명하면 실행 가능한 노트북을 통째로 생성해 줌
  • 구글 드라이브의 데이터셋을 import:
from google.colab import drive
drive.mount('/content/drive')

import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/data/파일.csv')
  • 패키지 업데이트
!pip install --upgrade pandas numpy seaborn matplotlib statsmodels scikit-learn

로컬 환경

Conda

Python과 Conda Package Manager

Conda Cheatsheet: 기본적인 conda 명령어 요약

Miniconda 설치

Anaconda보다는 기본 패키지들이 미리 설치되지 않는 miniconda를 추천: miniconda install page

이용약관(Terms of Service) 동의 안내

2025년 7월 이후 배포된 Miniconda는 처음 패키지를 설치할 때 Anaconda Repository 이용약관 동의를 터미널에서 요구함. 안내에 따라 동의하면 됨.

(base)> conda tos accept

Anaconda는 인증된 교육기관의 강의 목적 사용에 대해 무료 정책을 유지하고 있음(직원 200명 이상 대학 포함). 다만 이 조건은 강의·연구 목적에 한정되며, 상업적 사용에는 유료 라이선스가 필요할 수 있음.

라이선스 문제를 아예 피하려면 처음부터 conda-forge 채널만 사용하는 Miniforge를 설치해도 됨. 설치 후 conda 사용법은 동일함.

Shell을 통해 작업하는데

  • Windows 경우: Anaconda의 응용 프로그램으로 등록된 Anaconda Powershell Prompt를 이용
  • Mac의 경우: 기본 terminal을 이용
  • 커서 앞에 (base)가 보이면 conda가 설치된 것
    • 혹시, 보이지 않을 시

      conda config --set auto_activate true
    • 확인

      conda config --show auto_activate
Shell(Command Line Interface)에 대한 팁

Mac의 경우: 기본 terminal을 이용하되 기본 zsh에 Oh-My-Zsh 프레임워크를 추가하여 사용하는 것을 추천
Oh-My-Zsh!: 링크
plugins: autocomplete, syntax-highlighting, …

Windows의 경우: PowerShell 7 추천: 설치 링크

  • 콘다 설치시 생성된 “Anaconda PowerShell”을 열고, 다음 명령어를 실행:

    conda init powershell
  • 이제 Powershell에 conda를 등록했으니, (운영체제에 등록된) Powershell 7을 열어서 커서 앞에 (base)가 보이면 conda가 잘 등록된 것임.

  • 앞으로는 PowerShell 7만 사용하기로 함: 참고로, 명령프롬프트(CMD) vs. Powershell vs. PowerShell 7

  • Powershell에서 conda를 사용하기 위해서는 몇 가지 설정 필요: 블로그 링크

  • 잘 안될 경우, 우선 conda 설치시 함께 설치되는 응용프로그램 anaconda powershell을 이용

Windows에서 Linux 시스템을 사용하는 것도 고려해 볼 것: Windows Subsystem for Linux (WSL)

# Terminal (Mac) or Powershell (Windows)

(base)> conda info # 콘다 정보 
(base)> conda update conda # 콘다 업데이트

Conda Environment

conda/user guide

환경 생성: miniconda에서 자체 제공하는 환경

(base)> conda create --name myenv  # --name 대신 -n으로 축약 가능

# 특정 버전의 파이썬과 함께 설치시
(base)> conda create --name myenv python=3.14

환경 확인

(base)> conda env list
# conda environments:
#
# base         */.../miniconda3
# myenv         /.../miniconda3/envs/myenv

환경 제거

(base)> conda env remove --name myenv

환경 activate/deactivate

(base)> conda activate myenv
(myenv)> conda deactivate

특정 환경 안의 파이썬 버전 확인

(myenv)> python --version

환경(activated) 내에서 패키지 설치 및 제거

패키지 repository(channel) 선택

conda/managing channels

다음을 통해 .condarc 환경파일에 configuration 추가

(base)> conda config --add channels conda-forge
(base)> conda config --set channel_priority strict  # 채널 순으로 검색, 버전 순이 아니고
# 개별적으로 채널을 선택해서 install하려면 (특정 환경에 설치하려면 아래 conda environment 참조)
(base)> conda install scipy --channel conda-forge

# pakcage가 있는 채널들
(base)> conda search scipy
# 특정 환경을 activate한 후

# Python을 update하거나 다른 버전을 설치하려면, 가령 3.14으로 업데이트 하려면
(myenv)> conda install python=3.14  # python update

# 패키지 설치
(myenv)> conda install <package name1> <package name2> ...
# 특정한 채널, conda-forge 통한 설치: --channel 대신 -c로 축약 가능
(myenv)> conda install --channel conda-forge <package name>

# 제거
(myenv)> conda remove <package name1> <package name2> ...

# 업데이트
(myenv)> conda update <package name1> <package name2> ...
(myenv)> conda update --all  # all packages

# 패키지 리스트 확인
(myenv)> conda list

환경 밖에서 특정 환경 안에 설치하려면 환경 이름 추가

(base)> conda install --name myenv <package name1>  # --name 대신 -n으로 축약 가능

pip을 이용한 패키지 설치: conda repository에 없는 패키지들을 설치하는 경우. 충돌의 우려 있음

(myenv)> pip install <package name1> <package name2> ...

수업에 필요한 기본 패키지 설치

# 수업에 필요한 기본 패키지 설치 (conda-forge 채널 선택)
(myenv)> conda install --channel conda-forge jupyter numpy pandas seaborn

Standard

운영체제에 맞는 Python 설치: python.org/downloads

현재 최신 안정 버전은 Python 3.14 (3.15는 2026년 10월 출시 예정). 본 수업은 3.14 기준으로 진행함.

Windows 사용자 설치

Windows는 설치 방식이 두 가지임.

  • Python install manager (현재 python.org가 권장하는 방식): Microsoft Store 또는 python.org에서 설치. 여러 버전을 함께 관리할 수 있고 PATH 설정이 필요 없음.

    py install 3.14      # 특정 버전 설치
    py list              # 설치된 버전 확인
  • 전통적인 installer: 설치 시 “Add Python to PATH”를 체크하여 환경변수를 자동으로 설정할 것. 그렇지 않을 시, 환경변수를 수동으로 설정해야 함. (3.14/3.15까지 제공 예정)

어느 쪽이든 Windows에서는 python3가 아니라 py 런처를 사용할 것. Windows에서 python3를 입력하면 Microsoft Store 창이 뜨거나 아무 반응이 없음.

가상환경의 설정과 패키지 관리는 다양한 방식으로 제안되고 있음.

  • Conda, venv, virtualenv, pipenv, Poetry, uv, …
  • 여기서는 표준 라이브러리에 포함된 기본적인 venv로 진행함. 원리를 이해하면 다른 도구로 옮겨가기 쉬움.
  • 데이터 사이언스 프로젝트에서는 순수 Python 패키지뿐 아니라 C/C++ 기반 확장 패키지들도 사용되므로, conda가 이점이 있음.
  • 최근에는 Rust로 작성되어 훨씬 빠른 uv가 사실상의 표준으로 자리잡아 가고 있음. venv에 익숙해진 뒤 다뤄볼 것: Section 2.3

가상환경 설정(venv)

특정 폴더에 파이썬과 패키지들을 넣어 격리된 환경에서 관리.
다음 방식 중 하나를 선택하는데, 다음과 같은 디렉토리를 응용프로그램이 기본적으로 탐색하여 가상환경을 인식하기 때문임.

  • 작업 디렉토리 내에 하위 폴더로 만들거나,
  • 루트 디렉토리 안에 만들어 관리
    • 맥에서는 ~/.virtualenvs/ (home directory)
    • 윈도우에서는 C:\Users\username\Envs\
  • 또는, 특정 디렉토리에서 관리하고, 그 디렉토리를 환경변수나 IDE에 등록하여 사용
    • 만약, 작업 디렉토리의 하위 디렉토리에 만들면 따로 등록할 필요 없음(기본 탐색 위치); 예를 들어, ~/Documents/python_project/.venv
가상환경 폴더 이름은 .venv로

작업 디렉토리 안에 만들 때는 폴더 이름을 .venv로 하는 것이 관례임. VS Code, uv 등 대부분의 도구가 .venv를 기본 탐색 경로로 삼기 때문에 별도 등록 없이 자동으로 인식됨.
(VS Code의 Python Environments 확장 기본 설정: python-envs.workspaceSearchPaths: ["./**/.venv"])

앞에 점(.)이 붙어 숨김 폴더가 되므로 파일 탐색기나 ls에는 보이지 않음. ls -a로 확인할 것.

Shell(command line interface)을 통해 작업하는데

  • Windows 경우: powershell (cmd도 가능)
  • Mac의 경우: 기본 terminal을 이용

Shell에서 가상환경 설정

CLI(command line interface) 명령어
기능 macOS / Linux Windows PowerShell
디렉토리 목록 보기 ls ls 또는 dir
디렉토리 목록(자세히) ls -l ls (기본 상세 형식)
숨김 파일 포함 ls -a ls -Force 또는 dir -Force
현재 디렉토리 표시 pwd pwd
디렉토리 이동 cd <폴더> cd <폴더> 또는 Set-Location <폴더>
상위 디렉토리 이동 cd .. cd ..
홈 디렉토리 이동 cd ~ cd ~
파일 내용 보기 cat <파일> cat <파일> 또는 Get-Content <파일>
파일 삭제 rm file rm file 또는 Remove-Item file
디렉토리 생성 mkdir dir mkdir dir 또는 New-Item -ItemType Directory dir
디렉토리 삭제 rm -r dir rm -r dir 또는 Remove-Item -Recurse dir
# 디렉토리 내용 확인
ls
ls -l   # 자세히
ls -la  # 숨김 파일 포함

# 현재 디렉토리 확인
pwd

# 디렉토리 이동
cd <directory name>

# 상위 디렉토리로 이동
cd ..
  • 루트 디렉토리 안에 만들려면 경로를 지정

    # Mac/Linux
    python3 -m venv ~/.virtualenvs/myenv
    
    # Windows
    py -m venv C:\Users\username\Envs\myenv

    가상환경 활성화(activate)

    # Mac/Linux
    source ~/.virtualenvs/myenv/bin/activate
    
    # Windows
    C:\Users\username\Envs\myenv\Scripts\Activate.ps1
  • 작업 디렉토리 내에 하위 폴더로 만드는 경우 (권장)

    # Mac/Linux
    python3 -m venv .venv
    
    # Windows
    py -m venv .venv

    가상환경 활성화(activate)

    # Mac/Linux
    source .venv/bin/activate
    
    # Windows
    .venv\Scripts\Activate.ps1

가상환경 비활성화(deactivate)

deactivate
Windows에서 activate가 막힐 때

PowerShell에서 활성화 시 다음과 같은 에러가 나는 경우가 많음.

이 시스템에서 스크립트를 실행할 수 없으므로 ... Activate.ps1 파일을 로드할 수 없습니다.

Windows의 기본 스크립트 실행 정책 때문임. PowerShell에서 아래 명령을 한 번만 실행하면 해결됨(관리자 권한 불필요).

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

현재 정책은 Get-ExecutionPolicy -List로 확인할 수 있음.

패키지 설치

가상환경을 활성화한 후, pip 모듈을 통해 패키지를 설치

pip install <package name1> <package name2> ...

우선, jupyter notebook(.ipynb) 파일을 실행하기 위해 IPython kernel을 포함한 jupyter 패키지 설치

pip install jupyter

특정 버전의 패키지를 설치하려면 버전 번호를 명시

pip install jupyter==1.0.0
pip install "jupyter>=1.1"  # 1.1 이상 버전

패키지를 업데이트하려면 --upgrade 옵션을 추가

pip install --upgrade jupyter

설치된 패키지 확인

pip list
시스템(OS)에 설치된 기본 파이썬에는 설치하지 말 것

가상환경을 활성화하지 않은 상태에서 pip install을 실행하면 시스템 파이썬이 오염되어 운영체제 도구가 망가질 수 있음. 이 때문에 최근의 macOS(Homebrew)와 리눅스 배포판은 아예 설치를 차단함.

error: externally-managed-environment
× This environment is externally managed

이 에러를 보면 가상환경을 만들지 않았거나 활성화하지 않은 것이므로, --break-system-packages 같은 옵션으로 우회하지 말고 가상환경을 활성화한 후 다시 실행할 것.

현재 어느 파이썬을 쓰고 있는지 확인하는 방법:

# Mac/Linux
which python
# Windows
where.exe python

경로에 .venv가 포함되어 있으면 가상환경이 제대로 활성화된 것임.

패키지 목록 관리 (재현성)

내 컴퓨터에서 돌아가는 코드가 다른 사람 컴퓨터에서도 돌아가려면, 설치한 패키지 목록을 파일로 남겨야 함.

현재 환경의 패키지 목록을 파일로 저장

pip freeze > requirements.txt

다른 컴퓨터(또는 새로 만든 가상환경)에서 그대로 복원

pip install -r requirements.txt

conda 환경의 경우는 다음과 같이 내보내고 복원함.

# 직접 설치한 패키지만 기록 (운영체제가 달라도 호환)
(myenv)> conda env export --from-history > environment.yml

# 복원
(base)> conda env create --file environment.yml
가상환경 폴더는 Git에 올리지 말 것

.venv 폴더는 수백 MB에 이르고 운영체제마다 내용이 다르므로 저장소에 포함시키지 않음. 공유해야 하는 것은 requirements.txt 하나임.

작업 디렉토리에 .gitignore 파일을 만들고 다음을 넣어둘 것.

.gitignore
.venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
.DS_Store

uv

uv는 Rust로 작성된 Python 패키지·프로젝트 관리 도구: 공식 문서

지금까지 다룬 작업들이 서로 다른 도구로 흩어져 있었음.

  • Python 설치: python.org installer, py 런처
  • 가상환경 생성: venv
  • 패키지 설치: pip
  • 패키지 목록 관리: requirements.txt

uv는 이 네 가지를 하나의 명령어로 통합하고, 속도도 pip보다 10~100배가량 빠름. 최근 파이썬 생태계에서 사실상의 표준으로 자리잡아 가고 있음.

설치

# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

패키지 관리자를 이용해도 됨.

# Mac (Homebrew)
brew install uv

# Windows (WinGet)
winget install --id=astral-sh.uv -e

설치 확인 및 업데이트

uv --version
uv self update

Python 설치

uv는 Python 자체도 설치·관리함. python.org에서 따로 받지 않아도 됨.

uv python install 3.14   # 특정 버전 설치
uv python list           # 설치된 버전 확인 + 설치 가능 버전 확인
uv python list --only-installed # 설치된 버전만 확인

프로젝트 방식 (권장)

프로젝트 폴더를 만들고 초기화

uv init myproject
cd myproject

pyproject.toml(프로젝트 정보와 의존성), .python-version(사용할 파이썬 버전), .gitignore, README.md, 예제 소스 파일이 생성됨.

패키지 추가

uv add jupyter numpy pandas seaborn

# 버전을 지정하려면 (쉘 해석을 피하기 위해 따옴표 필요)
uv add "pandas>=3.0"

이 시점에 uv가 프로젝트 폴더 안에 .venv를 자동으로 만들고 패키지를 설치함. 즉 python -m venv .venv와 source .venv/bin/activate, pip install을 따로 할 필요가 없음.

코드 실행

uv run test.py
uv run jupyter lab

uv run은 실행 직전에 환경이 pyproject.toml과 일치하는지 검사하고 자동으로 맞춰 줌. 가상환경을 activate하지 않아도 됨.

패키지 제거 및 업데이트

uv remove seaborn
uv lock --upgrade-package pandas
uv.lock과 재현성

uv add를 실행하면 uv.lock 파일이 함께 만들어짐. requirements.txt가 “이 정도 버전이면 됨”을 적어두는 것이라면, uv.lock은 실제로 설치된 정확한 버전과 해시를 전부 기록함.

따라서 다른 사람이 저장소를 받아 아래 한 줄만 실행하면 완전히 동일한 환경이 재현됨.

uv sync

pyproject.toml과 uv.lock은 Git에 포함시키고, .venv는 제외할 것(uv init이 만들어 주는 .gitignore에 이미 들어 있음).

기존 requirements.txt가 있다면 그대로 가져올 수 있음.

uv add -r requirements.txt

pip 호환 방식

기존 venv/pip 사용법을 그대로 유지하면서 속도만 얻고 싶을 때 사용함.

uv venv                      # .venv 생성 (python -m venv .venv 와 동일)
source .venv/bin/activate    # Windows: .venv\Scripts\Activate.ps1
uv pip install pandas
uv pip freeze > requirements.txt

명령어 대응 정리

하려는 일 venv + pip uv
파이썬 설치 python.org에서 내려받기 uv python install 3.14
가상환경 생성 python3 -m venv .venv uv venv (또는 uv add 시 자동)
가상환경 활성화 source .venv/bin/activate 불필요 (uv run 사용)
패키지 설치 pip install pandas uv add pandas
패키지 제거 pip uninstall pandas uv remove pandas
목록 저장 pip freeze > requirements.txt 자동 (pyproject.toml, uv.lock)
환경 복원 pip install -r requirements.txt uv sync
코드 실행 활성화 후 python test.py uv run test.py
참고: uvx로 도구 실행

설치 없이 일회성으로 도구를 실행할 수 있음. 환경을 더럽히지 않아 유용함.

uvx ruff check .        # 코드 검사 도구를 설치 없이 실행
uvx jupyter lab

VS Code는 프로젝트 폴더의 .venv를 자동으로 인식하므로, uv로 만든 환경도 별도 등록 없이 바로 선택됨.

개발 환경 (IDE)

Integrated Development Environment (IDE)

Visual Studio Code

VS Code 설치

  • 개인마다 선호하는 text editor가 있으나 본 수업에서는 VS Code로 진행: download and install here
  • Github Copilot: VS Code에서 제공하는 AI 협업 도구, 점차 통합되어 가고 있음
    • Students - GitHub Education: join
    • 학생 인증을 마치면 GitHub Copilot Student 플랜이 무료로 제공됨. 인증에 며칠이 걸릴 수 있고 신규 가입이 일시 중단된 적도 있으므로, 수업 시작 전에 미리 신청해 둘 것
    • 인증된 후에는 github education 페이지에 가서 copilot을 쓰겠다고 활성해야함! (redeem copilot package)
    • 인증이 안 되었거나 대기 중이면 우선 Copilot Free(월 채팅 요청 제한)로도 실습 가능

Python 파일을 실행하는 두 가지 방식

  • py script(.py) 작성 후 터미널에서 실행
  • jupyter notebook(.ipynb) 실행: 주로 데이터 시각화, 데이터 분석 등 대화형 작업 시 사용
    • 파이썬 코드를 위한 코드 셀(code cell)
    • 텍스트를 작성하는 마크다운 셀(markdown cell)

Extensions

  • Python
  • Jupyter
  • Python Environments
    • 마이크로소프트 공식 확장으로, 가상환경 생성·전환·패키지 설치를 사이드바에서 처리함
    • 기존에 쓰이던 서드파티 “Python Environment Manager”를 대체하며, Python 확장이 담당하던 환경 관련 기능도 이쪽으로 이관되는 중임
    • 우선은 “Python Environment Manager” 확장을 설치하고, 나중에 “Python Environments” 확장으로 교체할 것
  • Docs View
VS Code에서 명령어나 파일, 함수 등 찾기

Command Palette

  • ctrl(cmd) + shift + p,
  • 또는 F1,
  • 또는 상단 찾기 클릭 후 “>” 입력 후 실행

Python 환경 선택

jupyter notebook 파일 실행을 위해 앞서 만든 가상환경 선택

  • 정확히는, jupyter notebook을 실행하기 위해서는 ipython(jupyter) kernel이 필요함; 앞서 jupyter를 설치하면서 함께 설치되었음
  • .py script 파일 실행을 위해서는 ipython(jupyter) kernel은 필요없음.

가령, 다음과 같은 파일을 만들어 실행하면,

test.ipynb
# 두 숫자를 더하는 함수
def add(a, b):
    return a + b

add(5, 3)
add(5, 8)

VS Code에서 통합(integrated) terminal 사용

command palette에서

Terminal: Select Default Profile

  • Mac: zsh
  • Windows: powershell 7

Python: Select Interpreter: 원하는 가상환경 선택

  • Python Environments 확장을 쓰는 경우에는 왼쪽 사이드바의 Python 환경 패널에서 선택하거나, Python Envs: Set as Active Environment 명령을 사용해도 됨
  • 작업 디렉토리 안에 .venv로 만들었다면 별도 선택 없이 자동으로 인식됨

이후 VS Code에서 터미널을 열면 가상환경이 자동으로 선택됨.

이제 py script 파일을 실행해보기 위해, 가령 다음과 같은 파일을 만들어 실행하면,

test.py
# 두 숫자를 더하는 함수
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

print(add(5, 3))
print(subtract(5, 3))

Shell에서 가상환경을 활성화(activate)한 후,
(VS Code에서 python interpreter를 선택했다면 터미널을 열면 자동으로 가상환경을 activate할 것임)

python test.py
#> 8
#> 2
참고: Interactive Interpreter Environment

VS Code같은 IDE 내에서 구현되어 직접 사용할 필요는 없음.

  • Shell에서 python3을 실행하면 Python shell이 실행됨

    python3
  • Shell에서 ipython을 실행하면 IPython shell이 실행되고 (ipython은 외부패키지이며, jupyter 패키지를 설치시 함께 설치되었음),

    ipython

빠져나오려면 exit() 또는 quit() 명령어 사용

VSCode 단축키

맨 아래 참고

Preferences (User vs. Workspace 수준 설정)

  • Themes
  • Font, font size (notebook, markup, output, chat)

그 외

  • 언어 설정: vscode display 언어, copilot chat 언어
  • quick suggestions 끄기
  • interactive python mode
  • export: .ipynb를 .py 파일로 변환
  • docs view: sticky mode
  • variables viewer, data viewer
  • formatter: “Black formatter”
  • snippets: 구글링…

AI Code Editors

  • Cursor
  • Windsurf

: 신용카드 없이 쓸 수 있는 무료 플랜을 제공하되, agent 요청 횟수 등에 제한이 있음. Cursor의 경우 무료 Hobby 플랜에 해당함.

  • .edu 이메일로 1년간 Pro를 무료 제공하던 학생 프로그램은 2026년 6월 신규 접수가 종료되었고, 캠퍼스 행사 크레딧 방식으로 바뀜
  • 대학원생·연구자·교육자는 별도 신청 폼을 통해 크레딧을 요청할 수 있음

Jupyter Notebook/Lab

Jupyter Notebook 또는 jupyter lab 실행: 브라우저 기반 대화형 개발 환경

# jupyter notebook
(myenv)> jupyter notebook

# jupyter lab
(myenv)> jupyter lab

등록한 커널을 선택 후 시작

커널을 종료하려면, 쉘에서 Ctrl-C 두 번

가상환경 등록

새로 만든 가상환경을 등록해줘야 함. 가상환경을 activate한 상태에서

(myenv)> python -m ipykernel install --user --name=myenv --display-name "Python (myenv)"

--name은 내부 식별자, --display-name은 커널 선택 목록에 보이는 이름. --display-name을 생략하면 목록에서 환경을 구분하기 어려움.

환경을 삭제해도 등록시킨 kernel 이름은 삭제되지 않으니 직접 삭제.

등록된 커널 리스트를 확인

(myenv)> jupyter kernelspec list

커널 삭제

(myenv)> jupyter kernelspec remove myenv

Github Copilot

Github Copilot 문서 참고

Chat vs. Inline

모드: agent(기본), ask, plan, (custom agent)

  • agent: 스스로 파일을 읽고 수정하며 터미널 명령까지 실행해 작업을 끝냄
  • ask: 코드를 바꾸지 않고 질문에 답만 함
  • plan: 바로 고치지 않고 먼저 작업 계획을 세워 검토받은 뒤 실행으로 넘김
  • edit: 여러 파일을 직접 수정하는 모드로, 현재는 기본적으로 숨겨져 있음(설정 chat.editMode.hidden으로 다시 표시 가능)

LLM 모델: 채팅창 하단에서 선택 가능

  • 무료 플랜과 학생 플랜은 선택할 수 있는 모델이 제한되어 있어, 프론티어 모델을 직접 고르지 못할 수 있음. 이 경우 Auto 모드를 사용하면 됨
  • 실습은 특정 모델에 의존하지 않도록 구성함

맥락을 전달하는 방식

  • 채팅창에서 context(#), extenstions(@), commands(/)

    기호 역할 비유 예
    # Context 지정 “이 자료를 보고” #filename, #codebase, #terminalSelection
    @ 대상 지정 “이 대상에게” @github, @terminal, @vscode
    / 작업/의도 지정 “이 일을 해라” /explain, /fix, /tests
  • 사용자 정의; Github Copilot 문서

    • Instruction 파일
  • Tools과 MCP 서버

예시:

  1. github copilot에 대해 배우기 위한 간단한 파이썬 스트립트 파일들을 몇 개 만들어 작업 디렉토리에 넣어줘
  2. 현재 작업 디렉토리의 구조는?
  3. 더 나은 구조를 제안해줘.
  4. @vscode 새로운 파일을 여는 단축키는?
  5. @terminal python 파일을 실행하는 방법은?
  6. #file:test_calculator.py #file:exercise_02_classes.py 설명해줘
  7. /explain

VSCode 단축키

Cell 안과 밖에서 다르게 작동

  • undo / redo : ctrl(cmd) + z / ctrl(cmd) + shift + z
  • move: alt(option) + arrow up/down
  • copy : alt(option) + shift + arrow up/down

jupyter notebook 코드 실행 방식 3가지: ctrl/shift/alt(option) + enter

그 외의 shorcuts

Python, Jupyter 단축키

  • ctrl(cmd) + / (comment/uncomment)
  • 셀 밖에서 a, b (위에 새 셀 만들기, 아래에 새 셀 만들기)
    • enter: 셀 안으로 들어오기, esc: 셀 밖으로 나가기
  • 셀 밖에서 c, x, v (복사, 잘라내기, 붙여넣기)
  • 셀 밖에서 dd (셀 삭제)
  • 셀 밖에서 ctrl(cmd) + enter, ctrl(cmd) + shift + enter (아래 셀 생성, 위 셀 생성)
  • 셀 안에서 ctrl(cmd) + enter, ctrl(cmd) + shift + enter (다음 줄에 새로운 라인 생성, 위 줄에 새로운 라인 생성)
  • ctrl + shift + - (셀 분리)
  • ctrl(cmd) + d, u (선택하기, 선택 취소)
  • ctrl(cmd) + [, ] (indent, outdent)
  • O: 노트북 실행결과 셀 보이기/숨기기 토글

VSCode 탐색 단축키

  • ctrl(cmd) + shft + p (서치바에서 >과 동일): 명령어 찾기
  • ctrl(cmd) + p: 파일 찾기
  • ctrl(cmd) + shift + o (서치바에서 @와 동일, :까지 쓰면(@:) 정렬): 함수, 변수 찾기

VSCode 폴딩 단축키

  • ctrl(cmd) + k, ctrl(cmd) + 1 (0 은 하위 수준까지 모두 폴딩)
  • ctrl(cmd) + k, ctrl(cmd) + j (모두 언폴딩)
  • ctrl + shift + [, ] (해당 부분 폴딩, 언폴딩)
    • 맥: option + command + [, ]
  • ctrl(cmd) + k, ctrl(cmd) + [, ] (해당 부분 이하 수준 모두 폴딩, 언폴딩)

VSCode 창 선택 단축키

  • ctrl(cmd) + shft + i: 채팅 창 선택
  • ctrl(cmd) + 1, 2, … : 에디터 창 선택
  • ctrl(cmd) + shft + e: 파일 탐색기 창 선택
  • ctrl + `: 터미널 창 선택

VSCode 패널 단축키

  • ctrl(cmd) + b: 왼쪽 패널 보이기/숨기기
  • ctrl(cmd) + j: 하단 패널 보이기/숨기기
  • 오른쪽 패널 보이기/숨기기

Help: Keyboard shortcuts reference의 Basic editing 참고 전체 단축키는 command palette에서 “keyboard shortcuts”으로 메뉴 찾아 확인.

History & Background

This work © 2025 by Sungkyun Cho is licensed under CC BY-NC-SA 4.0