Python

파이썬 오프라인 환경에서 패키지 관리하기

김 레인 2021. 1. 11. 16:13

혼자서 연습할 때는 아무 문제가 없지만
회사의 규모가 조금만 커져도
망분리 문제 때문에 파이선 패키지 관리하기가 어려워진다.

업무용 망에서는 인터넷이 차단되어 있고
때문에 pip install <패키지명> 을 통한 패키지 인스톨이 불가능하다.

그리고 R과는 다르게 파이썬은 패지키 폴더를 그냥 복사+붙여넣기 하는 것만으로는 패키지 인식이 안된다.
결국 패키지 목록을 whl파일로 다 받아서(의존성 패지키 포함)
pip install <whl파일명>으로 인스톨 해주어야 제대로 돌아간다.

결국 오프라인 환경에서 패키지 관리는 다음 세 단계를 거쳐야 한다

1. 설치가 필요한 패키지 목록 만들기 (인터넷망)

당연히 여기의 패키지 목록에는 의존성 패키지 목록이 포함된다.
때문에 필요한 패키지들을 일일히 확인하는 것보다는 아래의 순서를 따르는것이 훨씬 쉽다..

  • 인터넷망에서 가상환경 만든다.
  • 가상환경에 필요한 패키지를 pip install 패키지명 명령어를 통해 다운 받는다. (이때 의존성 패키지도 같이 받아짐)
  • pip freeze > requirements.txt 명령어를 통해 패키지 목록을 파일로 만든다

2. 패키지 목록 파일들 다운로드 받기 (인터넷망)

위에서 만든 requirements.txt 파일을 가지고

python -m pip download -d./requirements -r requirements.txt

위 명령어를 통해 패키지 목록 파일들을 한번에 다운로드 받는다.


옵션 설명

  • -d : 다운로드 폴더 지정
  • -r : 다운로드할 패키지 목록을 file 에서 읽어오기

3. 패키지 파일들 옮기고 설치하기 (오프라인)

  • 위에서 requirements 폴더에 저장된 패키지 파일들을 USB 등을 통해 파이썬 작업할 오프라인 PC에 옮긴다.
  • pip install --no-index --find-links=[패키지설치위치] [패키지명] 실행하면 의존성 패키지까지 한번에 설치된다.