Python Programming
  • Home
  • Intro
    • History & Background
    • Python Setup
  • QPB
    • Part I: Chapter 1-3
    • Part II
    • 5. Lists, Tuples, Sets
  • Exercises
    • Chapter 5: Lists, Tuples, Sets
  • References
    • QPB Part 1
    • QPB Part 2
    • QPB Part 3
    • QPB Part 4

On this page

  • 클라우드 환경
  • 로컬 환경
    • Conda
      • Miniconda 설치
      • Conda Environment
      • 환경(activated) 내에서 패키지 설치 및 제거
    • Standard Python Installation
      • 가상환경 설정(venv)
      • 패키지 설치
    • 개발 환경 (IDE)
      • Visual Studio Code
      • AI Code Editors
      • Jupyter Notebook/Lab
  • Copilot

Python 설정

Python 개발 환경

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

  • py script(.py) 파일을 CLI(Command Line Interface)에서 실행; 보통 쉘(Shell)이라고 부름
  • 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 파일 모두 실행 가능
      • 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
  • Colab AI assistant
  • 구글 드라이브의 데이터셋을 import:
pd.read_csv("drive/MyDrive/...")
  • 패키지 업데이트
!pip install --upgrade pandas numpy seaborn matplotlib statsmodels scikit-learn

로컬 환경

Conda

Python과 Conda Package Manager

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

Miniconda 설치

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

  • Windows 경우: 설치시 물어보는 “add Miniconda to your PATH variable” 옵션을 켜고 설치할 것

Shell을 통해 작업하는데

  • Windows 경우: Anaconda의 응용 프로그램으로 등록된 Anaconda Powershell Prompt를 이용
  • Mac의 경우: 기본 terminal을 이용
  • 커서 앞에 (base)가 보이면 conda가 설치된 것
Shell(Command Line Interface)에 대한 팁

Mac의 경우: 기본 terminal을 이용하되 기본 zsh shell 대신 다음 Oh-My-Zsh을 추천
Oh-My-Zsh!: 링크

Windows의 경우: Windows Terminal 추천

  • 설치 링크는 구글링…
  • 명령프롬프트(CMD) vs. Powershell
  • Powershell에서 conda를 사용하기 위해서는 몇 가지 설정 필요: 블로그 링크
  • 잘 안될 경우, conda 설치시 함께 설치되는 응용프로그램 콘다 powershell을 이용

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

# Terminal (Mac) or Miniconda Powershell Prompt (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.12

환경 확인

(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.12으로 업데이트 하려면
(myenv)> conda install python=3.12  # 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 matplotlib seaborn scikit-learn statsmodels

Standard Python Installation

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

Windows 사용자 설치

설치 시 “Add Python to PATH”를 체크하여 환경변수를 자동으로 설정할 것.
그렇지 않을 시, 환경변수를 수동으로 설정해야 함.

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

  • Conda, venv, virtualenv, pipenv, Poetry, …
  • 차세대 패키지 관리 도구 uv도 참고: 링크
  • 여기서는 기본적인 venv로 진행함.
  • 데이터 사이언스 프로젝트에서는 순수 Python 패키지뿐 아니라 C/C++ 기반 확장 패키지들도 사용되므로, conda가 이점이 있음.

가상환경 설정(venv)

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

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

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
    python3 -m venv C:\Users\username\Envs\myenv

    가상환경 활성화(activate)

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

    python3 -m venv myenv

    가상환경 활성화(activate)

    # Mac/Linux
    source myenv/bin/activate
    
    # Windows
    myenv\Scripts\activate

가상환경 비활성화(deactivate)

deactivate

패키지 설치

가상환경을 활성화한 후, 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 명령을 실행
앞서 가상환경을 활성화하면 pip은 독립 실행형 명령어임.

python3 -m pip install <package name1> <package name2> ...

개발 환경 (IDE)

Integrated Development Environment (IDE)

Visual Studio Code

VS Code 설치

  • 개인마다 선호하는 text editor가 있으나 본 수업에서는 VS Code로 진행: download and install here
  • Copilot: VS Code에서 제공하는 AI 협업 도구, 점차 통합되어 가고 있음
    • Students - GitHub Education: join

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

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

Extensions

  • Python
  • Jupyter
  • Python Extension Pack 중
    • IntelliCode
    • Python Environment Manager
  • 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

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

이후 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() 명령어 사용

Shortcuts

Cell 안과 밖에서 다르게 작동

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

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

그 외의 shorcuts
  • ctrl(cmd) + / (comment/uncomment)
  • 셀 밖에서 a / b (esc, enter) (새 셀, 새 셀 아래)
  • 셀 밖에서 c / x / v (복사, 잘라내기, 붙여넣기)
  • 셀 밖에서 dd (셀 삭제)
  • 셀 밖에서 ctrl(cmd) + enter, ctrl(cmd) + shift + enter (아래 셀 생성, 위 셀 생성)
  • ctrl + shift + - (셀 분리)
  • ctrl(cmd) + d (선택하기)
  • ctrl(cmd) + [, ] (indent/outdent)

Help: Keyboard shortcuts reference의 Basic editing 참고

Preferences

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

그 외

  • 언어 설정: 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

: 2주 무료 평가판 제공


Jupyter Notebook/Lab

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

# jupyter notebook
(myenv)> jupyter notebook

# jupyter lab
(myenv)> jupyter lab

등록한 커널을 선택 후 시작

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

가상환경 등록

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

(myenv)> ipython kernel install --user --name=myenv

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

등록된 커널 리스트를 확인

(myenv)> jupyter kernelspec list

커널 삭제

(myenv)> jupyter kernelspec remove myenv

Copilot

Copilot 문서 참고

Chat vs. Inline

모드: agent, ask, edit

LLM 모델: 여러 모델 중 선택 가능; 실습에서는 Claude Sonnet 4로 진행

맥락을 전달하는 방식들

  • 채팅창에서 context(#), extenstions(@), commands(/)
  • 사용자 정의; Copilot 문서
    • Instruction 파일
    • Chat mode 파일
  • Tools과 MCP 서버

예시:

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

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