[파이썬] Spyder에서 Conda 기반 Python 프로젝트 구성 및 연동 방법

 

🔬 Spyder에서 Conda 기반 Python 프로젝트 구성 및 연동 방법 (with 폴더 구조)

데이터 과학 및 분석 프로젝트를 할 때 Spyder는 강력한 IDE입니다. 하지만 가상환경 관리나 프로젝트 구조를 어떻게 설정해야 할지 막막할 수 있습니다. 이 글에서는 Conda 가상환경을 기반으로 Spyder에서 Python 프로젝트를 설정하는 방법과 폴더 구조까지 단계별로 정리해드립니다.


✅ 1. 프로젝트 폴더 구조 설계

먼저, 다음과 같은 폴더 구조를 추천합니다. 이 구조는 확장성과 협업을 고려한 형태이며, 데이터, 코드, 결과물이 체계적으로 분리됩니다.

myproject/ ├── .gitignore # Git 사용 시 (선택) ├── environment.yml # Conda 환경 정의 파일 ├── README.md # 프로젝트 설명 문서 ├── run.py # 프로젝트 메인 실행 스크립트 ├── config/ # 설정 파일 디렉토리 │ └── settings.yaml ├── data/ # 데이터 디렉토리 │ ├── raw/ # 원본 데이터 │ └── processed/ # 전처리된 데이터 ├── notebooks/ # Jupyter 노트북 │ └── eda.ipynb ├── src/ # 주요 분석/처리 코드 │ ├── __init__.py │ ├── preprocessing.py │ ├── model.py │ └── utils.py ├── outputs/ # 분석 결과, 모델 등 │ ├── figures/ │ └── models/ └── spyproject/ # Spyder가 자동 생성하는 프로젝트 정보

src/에는 함수 및 클래스를, run.py에는 분석 흐름을 작성하세요.
environment.yml은 가상환경을 다른 사람과 공유하거나 재현하는 데 사용됩니다.


✅ 2. Conda 가상환경 생성

원하는 Python 버전으로 가상환경을 만들어보겠습니다.

conda create -n myproject_env python=3.10

그리고 환경을 활성화합니다.

conda activate myproject_env

✅ 3. 필수 패키지 설치

Spyder와 연동하려면 다음 패키지가 필요합니다:

pip install spyder-kernels ipykernel

필요한 데이터 분석 패키지도 추가로 설치하세요:

conda install numpy pandas matplotlib seaborn scikit-learn

✅ 4. Jupyter 커널 등록 (선택)

Jupyter에서 커널로 보이게 하려면 다음 명령을 실행하세요.

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

✅ 5. Spyder에서 가상환경 연동하기

Spyder에서 위 환경을 연동하려면:

  1. Spyder 실행

  2. 메뉴 → ToolsPreferences

  3. Python Interpreter 탭 선택

  4. Use the following Python interpreter 선택

  5. Conda 가상환경의 python 경로 입력:

    • Windows:

      C:\Users\<사용자>\anaconda3\envs\myproject_env\python.exe
    • macOS/Linux:

      /Users/<사용자>/anaconda3/envs/myproject_env/bin/python
  6. 적용 후 Spyder 재시작


✅ 6. 환경 공유를 위한 environment.yml 저장

프로젝트의 재현성을 위해 환경 설정 파일을 저장합니다:

conda env export > environment.yml

이 파일을 공유하면 누구나 동일한 환경을 아래 명령어로 만들 수 있습니다:

conda env create -f environment.yml

✅ 7. 프로젝트 실행 흐름 예시

run.py에는 전체 분석 흐름을 모듈화하여 구성하세요.

from src.preprocessing import clean_data from src.model import train_model def main(): data = clean_data("data/raw/data.csv") model = train_model(data) # 저장 혹은 평가 코드 추가 if __name__ == "__main__": main()

Spyder에서 이 run.py를 실행 파일로 설정하고 반복 실행하며 실험해보면 매우 편리합니다.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] PLC 아날로그 입출력 기본

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[PLC] 절연 변압기 (Isolation Transformer)

[수학] 정규 분포란? 왜 종 모양을 띠고 있을까?

[농사] 식물의 광합성과 호흡

제너 다이오드에 저항을 연결하는 이유

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

[트레이딩] 현재 주가 기준으로 기대수익률은 어떻게 계산할까?

[PLC] 래더 다이어그램과 PLC