반응형
외부 파이썬 모듈 사용하는 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 패키지화
- 🔗 로컬 실험, 구조 통합이 필요하면 → 심볼릭
반응형
'프로그래밍언어 > Python' 카테고리의 다른 글
[모듈1]Python 모듈화 방법 (0) | 2025.04.16 |
---|---|
[MacOS for Python]MacOS+VS Code+Python 설정! (0) | 2025.02.25 |
[Python]Python이 처음이라면 설치부터 해볼까? (0) | 2025.02.21 |