Python 데이터 분석 환경 제대로 만들기: 가상환경, 패키지, Jupyter까지

Alchemist·2026년 10월 6일

KT AIVLE

목록 보기
46/130

Python으로 데이터 분석을 시작하면 문법보다 먼저 부딪히는 것이 실행 환경이다.

Python은 설치되어 있는데 numpy가 없다고 나오거나, 터미널에서는 설치했는데 Jupyter에서는 import가 안 되거나, 프로젝트마다 패키지 버전이 달라 충돌하는 일이 흔하다.

이 글에서는 데이터 분석을 시작할 때 필요한 환경 구성을 현재 Python 생태계 기준으로 정리한다.


Python을 설치한다는 것은 무엇일까?

Python 코드를 실행하려면 Python 인터프리터가 필요하다.

가장 널리 사용하는 구현은 CPython이다.

터미널에서 다음 명령으로 설치 여부를 확인할 수 있다.

python --version

Windows에서는 환경에 따라 다음 명령이 동작할 수도 있다.

py --version

Python 실행 파일의 위치가 궁금하다면:

python -c "import sys; print(sys.executable)"

패키지 문제를 해결할 때는 지금 어떤 Python을 실행하고 있는지 확인하는 습관이 중요하다.


데이터 분석 환경은 프로젝트별로 분리하자

시스템 전체 Python에 모든 패키지를 설치하면 프로젝트가 늘어날수록 버전 충돌 가능성이 커진다.

예를 들어:

project-a
└─ pandas 2.x

project-b
└─ pandas 3.x

이런 경우 프로젝트별 가상환경을 사용하면 각각 독립적인 패키지 구성을 유지할 수 있다.


방법 1. Python venv

python -m venv .venv

Windows:

.venv\Scripts\activate

macOS/Linux:

source .venv/bin/activate

활성화된 상태에서 필요한 패키지를 설치한다.

python -m pip install numpy pandas matplotlib seaborn jupyterlab

현재 환경에 설치된 패키지 확인:

python -m pip list

방법 2. Conda 계열 환경

데이터 분석이나 과학 계산에서는 Conda 계열 환경도 많이 사용한다.

새 환경 생성:

conda create -n data_env python

활성화:

conda activate data_env

설치:

conda install numpy pandas matplotlib seaborn jupyterlab

프로젝트에 따라 venv + pip 또는 conda 중 하나를 선택하면 된다.

핵심은 한 프로젝트에서 환경 관리 방식을 일관되게 사용하는 것이다.


pip install보다 python -m pip이 좋은 이유

pip install pandas
python -m pip install pandas

두 번째 방식은 현재 python 명령으로 실행하는 인터프리터의 pip을 명시적으로 사용한다.

특히 Python이 여러 개 설치된 환경에서 다음 문제를 줄이는 데 도움이 된다.

설치는 성공했는데 import가 안 됨

설치 경로 확인:

python -m pip --version

Python 경로 확인:

python -c "import sys; print(sys.executable)"

데이터 분석에서 자주 사용하는 패키지

NumPy

import numpy as np

주요 역할:

  • 배열 연산
  • 벡터화 계산
  • 통계 계산
  • 난수 생성
  • 선형대수

Pandas

import pandas as pd

주요 역할:

  • CSV / Excel 읽기
  • 결측치 처리
  • 데이터 필터링
  • 그룹 분석
  • 병합
  • 시계열 처리

Matplotlib

import matplotlib.pyplot as plt

대표적인 범용 시각화 라이브러리다.

Seaborn

import seaborn as sns

Matplotlib 위에서 동작하며 통계적 시각화를 편하게 작성할 수 있다.


JupyterLab

설치:

python -m pip install jupyterlab

실행:

jupyter lab

Jupyter에서는 코드를 셀 단위로 실행한다.

x = 10

다음 셀:

x + 20

결과:

30

셀 실행 순서가 중요한 이유

화면 위에서 아래 순서가 아니라 실제로 실행한 순서에 따라 변수 상태가 결정된다.

위쪽 셀을 수정했지만 다시 실행하지 않았다면 메모리에는 이전 값이 남아 있을 수 있다.

결과가 이상하다면 다음 흐름으로 다시 확인하는 것이 좋다.

Kernel Restart
→ Run All

처음부터 순서대로 실행했을 때도 정상 동작하는지 확인한다.


가상환경을 Jupyter 커널로 등록하기

가상환경을 활성화한 뒤:

python -m pip install ipykernel

커널 등록:

python -m ipykernel install --user --name data_env --display-name "Python (data_env)"

이후 Jupyter에서 해당 커널을 선택한다.

Notebook에서 현재 Python 경로 확인:

import sys

print(sys.executable)

패키지 버전 확인:

import numpy as np
import pandas as pd

print(np.__version__)
print(pd.__version__)

ModuleNotFoundError가 발생할 때 확인 순서

  1. 현재 Python 경로를 확인한다.
  2. 해당 Python의 pip을 확인한다.
  3. 패키지가 실제로 설치되어 있는지 확인한다.
  4. Jupyter라면 현재 커널이 같은 환경인지 확인한다.

터미널:

python -c "import sys; print(sys.executable)"
python -m pip --version
python -m pip show pandas

Jupyter:

import sys

print(sys.executable)

많은 import 문제는 설치한 환경과 실행하는 환경이 서로 다른 것에서 시작한다.


패키지 버전 기록

python -m pip freeze > requirements.txt

다른 환경에서:

python -m pip install -r requirements.txt

간단한 학습 프로젝트에서는 필요한 환경을 재현하는 데 유용하다.


데이터 분석 프로젝트 구조 예시

data-analysis-project/
├─ .venv/
├─ data/
│  ├─ raw/
│  └─ processed/
├─ notebooks/
│  └─ exploration.ipynb
├─ src/
│  └─ preprocessing.py
├─ requirements.txt
└─ README.md

원본 데이터와 가공 데이터를 분리하면 실수로 원본을 덮어쓰는 일을 줄일 수 있다.


IPython 전용 기능

현재 작업 폴더:

%pwd

실행 시간 측정:

%timeit sum(range(1000))

%로 시작하는 명령은 일반 Python이 아니라 IPython 전용 기능이다.

.py 파일에서는 그대로 사용할 수 없다.


처음 시작할 때 추천 구성

Python
+ 가상환경
+ NumPy
+ Pandas
+ Matplotlib
+ Seaborn
+ JupyterLab

설치 예:

python -m pip install numpy pandas matplotlib seaborn jupyterlab

핵심 정리

  • Python 데이터 분석 환경에서는 Python 인터프리터와 패키지가 어느 환경에 설치되어 있는지 이해하는 것이 중요하다.
  • 프로젝트별 가상환경을 사용하면 패키지 버전 충돌을 줄일 수 있다.
  • python -m pip을 사용하면 현재 Python과 pip의 연결 관계를 명확하게 유지하기 쉽다.
  • NumPy는 배열과 수치 계산, Pandas는 표 형태 데이터 처리, Matplotlib과 Seaborn은 시각화를 담당한다.
  • Jupyter는 셀 단위 실행 방식이므로 코드의 화면 순서와 실제 실행 순서가 다를 수 있다.
  • 가상환경을 Jupyter에서 사용하려면 해당 환경의 커널을 등록해야 할 수 있다.
  • ModuleNotFoundError가 발생하면 설치 여부보다 먼저 Python과 Jupyter 커널이 같은 환경을 사용하는지 확인한다.
profile
html_programming_language

0개의 댓글