본문 바로가기
Python

[We-Co] 외부 라이브러리 내부화 - 폐쇄망 Package Install with Python

by 위기의코딩맨 2025. 2. 11.
반응형

안녕하세요. 위기의 코딩맨입니다.

오늘은 외부 라이브러리를 내부에 설치하여

폐쇄망에서도 사용하는 방법을 포스팅 해보도록 하겠습니다.

 

[ 단계 ]

  1. 리스트 확인
  2. 경로 확인 및 설치
  3. 테스트 진행

 

[ 리스트 확인 ]

처음 단계는 간단합니다.

가상환경을 사용하고 계시면 가상환경에 접속 후,

터미널 or CMD창에서 아래 명령어를 입력해주세요.

pip list

 

그럼 현재 설치되어있는 패키지 리스트를 확인하실 수 있습니다.

다양한 버전이 설치되어있죠?!

 

[ 경로 확인 및 설치 ]

다음으로 이 많은 패키지들이 설치되어 있는 경로를 확인해봅시다.

python -c "import site; print(site.getsitepackages())"

 

입력하게되면 아래 이미지와 같이 경로를 확인하실 수 있습니다.

 

이제 프로젝트 경로안에 패키지를 모아놓을 경로를 하나 생성해주도록 합니다.

mkdir yourpath/third_party

 

그리고 생성한 경로에 위에서 패키지가 설치된 경로에 있는 파일들을 복사를 합니다.

cp -r yourpackagepath/site-packages/* yourprojectpyh/third_party/

 

프로젝트의 경로에 가보시면, 해당 패키지들이 잘 들어온 것을 확인할 수 있습니다.

 

다음으로 프로젝트가 해당 경로에 패키지들을 불러올수있도록 코드를  작성해줘야합니다.

프로젝트 경로와 third_party와합쳐서 python 모듈이 존재할때

해당 third_party의 경로를 최우선으로 찾는다 라고생각하시면 됩니다.

import os 
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
THIRD_PARTY_DIR = os.path.join(BASE_DIR, 'third_party')
if os.path.exists(THIRD_PARTY_DIR): 
	sys.path.insert(0, THIRD_PARTY_DIR)

 

[ 테스트 진행 ]

코드에서  디버깅을 진행해서 패키지들의 경로를 포함되고 있는지 확인해보시면 됩니다.

해당 경로가 최우선적으로 적용된 것을 확인할수 있었습니다.

더 정확한 방법으로는 인터넷을 끊고 확인하시는 방법이 있습니다.

 

반응형