본문 바로가기
개발일지/Python

파이썬 패키지 기초 원리, site-packages

by 개발에정착하고싶다 2022. 5. 19.
320x100

내가 이용원하는 모듈이

int용 addCal

float용 addCal

이면 같은 이름이기때문에 헷갈릴수 있지 않은가

때문에 이걸 구별해주기 위해서 패키지라는 개념을 사용한다.

 

====================================

우선 패키지를 위해서는 초기작업이 좀 많이 필요하다.

본 예제를 위해서

상위폴더 1개

상위폴더 내부 파일 1개

중위폴더 2개

중위폴더 내부 파일 각 4개씩

이렇게 만들어보도록 하겠다.

 

=================================

그리고 상위폴더 A를 만들었을때

그에 해당하는 중위폴더 A-1, A-2를 만들고

상위폴더 A에 해당하는 파일1개 aa를 만들었을때,

이 3개는 동등한 위치에 있게된다.

그리고 aa는 중위폴더 A-1, A-2에 있는 모듈파일들을 가져와서 사용이 가능하다.

 

================================

모듈을 만들어줄때는

A-1폴더에

a1,a2,a3,a4

라는 파일을 만들어서 원하는 해당 기능을 넣어준다.

 

==========================

그리고 끌어와서 쓸때는

aa파일에서

from A-1 import a1

from A-1 import a2

 

이런식으로 가져와서 import 뒤의것만 써서 사용한다.

예컨데

a1.a1에 만들어놓은 함수(원소)

이런식으로

 

============================

site-packages라는 개념인데

이걸 사용하면 굳이 상위폴더에 국한되지 않고 사용이 가능하다.

 

# 사이트 패키지 site-packages라는 디렉토리를 이용한다면
# 굳이 같은 상위폴더안에 없더라도 이용이 가능하다.

# 시스템의 간략한 정보를 가지고 있는 모듈
import sys

# 시스템의 경로를 확인 가능한 반복문
for path in sys.path:
    print(path)

# 이렇게 출력해줘서 나오는 가장 마지막 결과값이 중요하다.
# C:\pythonEx\project\venv\lib\site-packages

# 중요한것은. 내가 패키지화 해놓은 최상위 폴더가 있을것이다.
# 그것을 전체적으로 최상위 폴더이외의 폴더에 속해있는 파일에서도 이용을 원한다면
# 위의 경로를 참고하여 venv\lib\site-packages에다가 복붙해넣으면 된다.
# 그외의 사용방법은 패키지 기초의 사용방법과 동일하다.
300x250