프로그래밍언어/Python

[모듈2]Python 외부 모듈 사용법

CodeMasterSong 2025. 4. 18. 01:01
반응형

외부 파이썬 모듈 사용하는 4가지 방법

📁 sys.path.append() 없이도 가능하다고?

Python 프로젝트를 하다 보면 다른 폴더에 저장된 .py 파일(모듈)을 불러와서 사용하고 싶은 경우가 많습니다.

이때 가장 자주 사용하는 방법은 sys.path.append()이지만, 그 외에도 더 효율적이고 유지보수가 쉬운 방법들이 있습니다!

이번 글에서는 외부 모듈을 사용하는 4가지 대표적인 방법을 비교하여 소개합니다.

참고로 이 전 글에서는 같은 폴더에 있는 모듈과 외부 모듈 중 sys.path.append를 소개되어 있으므로 이 글과 함께 활용할 수 있습니다.

 

 

[모듈1]Python 모듈화 방법

Python 모듈 가져오는 방법 정리📁 같은 폴더 vs 외부 폴더에서 나만의 모듈 불러오기 Python에서 내가 만든 함수를 다른 파일에서 재사용하려고 할 때 import 방법이 달라지기도 합니다.이번 글에서

all-tech-hub.tistory.com


✅ 폴더 구조 예시

C:/
├── extraModule/
│   └── util/
│       └── calculator.py      ← 외부 모듈
│
└── moduleTest/
    ├── mainTest.py            ← 실행 파일
    └── strlib.py              ← 같은 폴더 모듈

✅ 방법 1: sys.path.append()로 경로 추가

가장 흔히 사용하는 방식입니다. 코드 안에 외부 경로를 추가하여 모듈을 인식하게 합니다. 

import sys
sys.path.append("C:/extraModule/util")

import calculator

print(calculator.sum(1, 2))  # 3

✅ 장점

  • 빠르고 간단
  • 별도 설정 없이 바로 실행 가능

⚠️ 단점

  • 코드에 하드코딩됨
  • 스크립트마다 매번 작성해야 함

✅ 방법 2: PYTHONPATH 환경 변수 설정

Python은 시작 시 "환경 변수 PYTHONPATH" 에 등록된 경로를 자동으로 검색합니다.

# 터미널에서 일시 설정 (Windows 기준)
set PYTHONPATH=C:\extraModule\util
python mainTest.py
 

이후 mainTest.py에서는 그냥 import 합니다.

import calculator

✅ 장점

  • 코드가 깔끔해짐 (import만 남음)
  • 여러 스크립트에서 재사용 가능

⚠️ 단점

  • 실행 환경마다 설정해야 하는 불편함이 있다.
  • 환경 변수 세팅이 익숙하지 않은 경우 진입 장벽 있을 수 있다.

✅ 방법 3: pip 설치용 패키지로 만들기 (권장: 재사용성 높을 때)

외부 모듈을 setup.py로 패키징하면, pip install로 전역 설치 가능해집니다.

📁 예시 구조

C:/extraModule/mylib/
├── setup.py
└── mylib/
    └── calculator.py
 

🧾 setup.py 예시

from setuptools import setup, find_packages

setup(
    name='mylib',
    version='0.1',
    packages=find_packages(),
)
 

설치 명령어

cd C:/extraModule/mylib
pip install .

사용 예

from mylib import calculator

✅ 장점

  • 패키지처럼 어디서든 사용 가능
  • 구조적이고 유지보수에 좋음
  • 팀 협업, 재배포에 유리

⚠️ 단점

  • setup.py 작성 등 약간의 초기 설정 필요

✅ 방법 4: 심볼릭 링크로 폴더 연결하기 (개발 중 유용)

외부 폴더를 링크로 연결하여 현재 폴더처럼 사용합니다.

📁 구조 (링크 생성된 이후 모습)

C:/moduleTest/
├── mainTest.py
├── strlib.py
└── external/       ← 심볼릭 링크 (→ C:/extraModule/util)
    └── calculator.py

링크 생성 (Windows CMD, 관리자 권한 필요)

mklink /D C:\moduleTest\external C:\extraModule\util

사용 예

from external import calculator

✅ 장점

  • import 경로가 직관적으로 이해된다.
  • 여러 파일을 묶어서 가져오기 편함

⚠️ 단점

  • OS 의존적 (Windows, macOS, Linux 명령어 다름)
  • 권한 필요
  • 다른 개발자 환경에서는 깨질 수 있음

🔍 4가지 방법 비교 요약

4가지 방법에 대해 간략히 비교해 봅니다. 각자의 환경, 사용 용도에 맞도록 선택합니다.
방법 설명 장점 단점
sys.path.append() 코드 내에서 직접 경로 추가 빠르고 간편 스크립트마다 반복
PYTHONPATH 환경 변수 등록 깔끔한 코드, 다중 재사용 환경 설정 필요
pip 패키지화 setup.py로 설치 가능하게 유지보수 좋음, 공식적 사용 가능 설정 필요
심볼릭 링크 폴더 연결로 내부처럼 사용 직관적 경로, 테스트에 유리 시스템/환경 의존적

✅ 최적의 방법을 찾아서

외부 모듈을 불러오는 방식은 많지만, 상황에 맞는 최적의 방법을 선택하는 것이 중요합니다.

  • 🔧 빠르게 테스트하고 싶다면 → sys.path.append()
  • 🧪 개발 환경에서 반복 사용한다면 → PYTHONPATH
  • 📦 재사용하거나 배포할 목적이라면 → pip 패키지화
  • 🔗 로컬 실험, 구조 통합이 필요하면 → 심볼릭
반응형