[파이썬] 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 아날로그 입출력 기본

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

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

3선 결선식 센서의 타입 PNP, NPN

사각형의 넓이 공식의 증명

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[스마트팜] EC/pH 미터 만들기: 아두이노로 전기 전도도 및 pH 측정

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

[PC] 최대절전모드에서 PC가 멋대로 켜지는 이유와 해결 방법