티스토리 뷰

패키지나 모듈은 호출을 하려는 파일과 동일한 경로에 있거나 또는 파이썬 라이브러리들이 모여 있는 폴더에 있어야 사용이 가능합니다. 앞에서 만든 theater 모듈이나 travel 패키지는 그들을 사용하는 practice.py 파일과 같은 위치에 있어서 문제 없이 사용할 수 있었던 것이죠.

 

파이썬에서는 사용하려는 모듈이 어느 경로에 있는지 확인할 수 있는 방법이 있습니다. 우리가 자주 쓰던 random 모듈에 대한 경로를 먼저 확인하기 위해 inspect 라는 모듈을 import 하고 getfile() 이라는 함수에 전달값으로 random 을 적습니다.

import inspect
import random
print(inspect.getfile(random)) # random 모듈의 위치

 

실행해보면 다음과 같이 random.py 파일이 존재하는 위치가 표시되네요. 처음에 환경설정을 진행하는 과정에서 파이썬을 설치할 때 지정한 경로 밑의 lib 폴더인 것을 확인할 수 있습니다.

C:\Python38\lib\random.py

 

이번에는 우리가 만든 travel 패키지의 thailand 모듈이 어느 경로에 위치하는지 확인해보기 위해 코드를 다음과 같이 작성합니다.

import inspect
from travel import *
print(inspect.getfile(thailand)) # thailand 모듈의 위치

 

실행해보니 thailand 모듈이 외부에서 호출된다는 문구와 함께 경로 정보가 표시되는데, 필자의 경우 바탕화면의 PythonWorkspace 폴더 내의 travel 폴더 밑에 thailand 모듈이 위치한다는 것을 알 수 있습니다.

Thailand 외부에서 모듈 호출
c:\Users\Nadocoding\Desktop\PythonWorkspace\travel\thailand.py

 

앞에서 패키지나 모듈은 "파이썬 라이브러리들이 모여 있는 폴더" 에 있으면 사용 가능하다고 했는데요. 확인을 위해 travel 패키지 폴더를 lib 폴더로 복사해보도록 하겠습니다. 폴더 복사를 위해서는 파일 탐색기를 직접 실행하여 작업 중인 폴더로 이동하셔도 되고, 또는 Visual Studio Code 에서 travel 폴더를 마우스 오른쪽 버튼으로 클릭하여 Reveal in File Explorer 메뉴를 선택하셔도 됩니다.

파일 탐색기에서 travel 폴더를 복사하고 random.py 파일이 존재하는 경로 (필자의 경우 C:\Python38\lib) 에 붙여넣기 하겠습니다.

 

작업 공간 내의 travel 폴더를 복사합니다

 

Python 설치 경로의 lib 폴더에 붙여넣기 합니다

 

그리고 현재 작업 공간 내의 travel 폴더는 임시로 travel_temp 로 이름을 변경하겠습니다. Visual Studio Code 에서 travel 폴더를 마우스 오른쪽 버튼 클릭하여 Rename 메뉴를 선택하면 이름 변경이 가능합니다.

travel 패키지의 이름을 travel_temp 로 변경합니다

 

이름 변경이 완료된 모습입니다

 

여기까지 된 상태에서 다시 practice.py 소스코드를 실행하면 thailand 모듈의 경로가 바뀐 것을 알 수 있습니다.

Thailand 외부에서 모듈 호출
c:\Python38\lib\travel\thailand.py

 

즉, 호출하려는 파일과 같은 경로가 아닌 파이썬 설치 경로의 lib 폴더에 있는 패키지를 사용한 것이며, 이는 여러분이 새로운 파이썬 프로젝트를 생성하여 작업을 할 때도 동일하게 travel 패키지를 가져다 쓸 수 있다는 의미가 됩니다.

 

원상복귀를 위해 파이썬 설치 경로의 lib 폴더 밑에 붙여넣기 했던 travel 폴더 (필자의 경우 C:\Python38\lib\travel) 는 삭제를 하고, Visual Studio Code 내에서 이름 변경을 했던 travel_temp 폴더는 다시 travel 로 이름을 되돌려 줍니다.

 

원상복귀 완료된 모습입니다

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함