Package Import 경로 설정

python 에서는 import를 할 때, sys.path에 등록되어 있는 경로들 중에서, 순서대로 package name을 찾는다. 따라서 만약 같은 이름을 가진 두 개의 package가 있다면 가장 먼저 sys.path에 등록되어 있는 패키지를 가져오게 된다.

아래의 코드를 이용해서 쉽게 path순서를 확인할 수 있따.

import sys
print(sys.path)

그리고나서 sys.path.insert( index , path )를 이용해서 내가 import하고자 하는 package의 경로를 넣어주면 원하는 package를 import 할 수 있다.  참고로 sys.path.append(path)의 경우 경로들의 가장 마지막에 추가된다.

import os

os.getcwd()

1. 절대 경로 추가 방식

import sys, os
sys.path.append(os.path.abspath('/home/starlab/Webserver/emotion_predict_for_upload'))
from main_emotion_predict import emotion_predict

from 패키지명 import 오브젝트이름

이렇게하면 main_emotion_predict.py 파일에서 emotion_predict() 함수를 가져온다.

1-1. 보다 심플한 방법

import sys sys.path.insert(0, '../') import utils

2. 상대 경로 참조 방식

sys.path.append(os.path.join(os.getcwd(), "my_lib"))

sys.path.append(os.path.dirname(file), "my_lib"))