python에서 상위 경로에 있는 모듈 참조하는 법
1. python으로 상위 디렉토리를 설정해주는 방법이다.
import sys
import os
# 현재 스크립트 파일(get_meeting_schedule.py)의 디렉터리에서 상위 두 개 폴더를 경로에 추가
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")))
📌 설명
• os.path.dirname(__file__) → 현재 파일(get_meeting_schedule.py)이 있는 디렉터리를 가져옴.
• os.path.join(..., "../..") → 현재 폴더에서 두 단계 위로 이동 (extract_data 기준).
• sys.path.append(...) → Python이 extract_data/common/ 경로를 인식하게 함.
단점
모든 파일마다 코드를 추가해야한다.
2. command로 상위 디렉토리를 설정해주는 방법이다.
export PYTHONPATH="{코드가 있는 디렉토리}"
📌 설명
빠르게 경로를 설정할 수 있다.
단점
터미널이 종료될때 마다 해줘야한다.
3. setup.py 설정해서 패키지로 만들기
pip install setuptools
from setuptools import setup, find_packages
setup(
name="{원하는 패키지 이름}",
version="1.0",
packages=find_packages(),
)
📌 설명
• find_packages()는 __init__.py가 있는 모든 디렉터리를 자동으로 패키지로 인식한다.
• name="{원하는 패키지 이름}" 원하는 이름으로 변경 가능.
• 모듈이 들은 디렉토리에 __init__.py 파일을 추가해야함.
• 깔끔하게 설치가 가능함, 내용이 바뀌어도 자동 반영 됨.
cd /Users/song-giung/Documents/coding/goverment_project/
pip install -e .
단점
• 새로운 모듈을 추가할 때는 다시 install 해야함
• 추가 라이브러리 설치해야함
'Personal Project > 국회의원 분석 프로젝트' 카테고리의 다른 글
| nosql데이터베이스에 mongo db로 텍스트 데이터 저장하고, 정제 데이터는 rds인 postgres로 저장하기 (0) | 2025.02.10 |
|---|---|
| 국회의원 회의록 정규식으로 구분하기, docker를 이용해 elastic search로 설치, 저장하기, 오류 해결하기 (0) | 2025.02.02 |
| 국회의원 회의록 데이터 가져오는 법 with Python (0) | 2025.01.31 |
| 국회의원 공약 가져오기 api 에러 - "resultMsg": "데이터 정보가 없습니다. 입력 파라미터값을 확인해주시기 바랍니다." (0) | 2025.01.25 |
| 공공 api 읽어온 후 json 파일 csv로 전환한 후 저장하기 - python (0) | 2025.01.22 |