Language/Python

[Python3] 폐쇄망 환경에서 Python 패키지 설치하는법

범데이 2025. 4. 21. 22:31

망 분리 환경에서는 pip install 명령어로 인터넷에서 직접 패키지를 설치할 수 없기 때문에,

외부망에서 필요한 패키지를 미리 다운로드한 뒤 내부망으로 옮겨 설치하는 방식이 필요하다.

 

이 포스팅을 통해 pip를 활용하여 의존성까지 포함한 오프라인 설치 과정을 설명한다.

 

[실행 환경]
Python 3.11 version

1. 외부망 PC에서 패키지 및 의존성 다운로드

먼저 인터넷 연결이 가능한 외부망 PC에서 pip download 명령어를 사용하여 패키지를 다운로드한다.

 

예시: pyinstaller 다운로드

pip download pyinstaller -d ./offline_packages

 

 

위 명령어를 실행하면 offline_packages/ 폴더 내에 다음과 같은 파일들이 생성된다

offline_packages/
├── pyinstaller-5.13.0-py3-none-any.whl
├── pefile-2023.2.7-py2.py3-none-any.whl
├── pywin32-306-cp310-cp310-win_amd64.whl
└── ...

 

 

(참고) requirements.txt 파일을 기반으로 일괄 다운로드

외부망에서 기존 환경과 동일한 패키지를 설치해야 할 경우 다음과 같이 활용할 수 있다.

pip freeze > requirements.txt
pip download -r requirements.txt -d ./offline_packages

 

 

 

2. 패키지 파일을 폐쇄망으로 이동

USB 저장장치 등을 통해 offline_packages/ 폴더를 폐쇄망 환경의 PC로 복사한다.

 

 

 

 

3. 폐쇄망 PC에서 로컬 패키지 설치

복사한 폴더로 이동한 후, 다음 명령어를 통해 설치를 진행한다:

cd offline_packages
pip install --no-index --find-links=. pyinstaller

 

옵션 설명

옵션 설명
--no-index PyPI 서버(인터넷)를 참조하지 않도록 설정한다.
--find-links=. 현재 디렉터리 내 파일에서 설치 가능한 패키지를 탐색한다.

 

위 명령어는 현재 폴더에 존재하는 .whl 파일들 중에서 필요한 의존성까지 자동으로 찾아 설치한다.

 

 

참고 사항

  • .whl 파일명에 cp36, cp310 등의 표기가 있는데 이는 Python 버전을 의미하므로, 내부망 Python 환경과 맞는 파일을 준비해야 한다.
  • .tar.gz 형식의 소스 파일보다는 .whl 형식의 바이너리 패키지를 사용하는 것이 설치 간 오류 발생을 줄일 수 있다
  • 설치 전 python --versionpip --version 명령어를 통해 환경 정보를 확인하는 것이 좋다.

설치 성공 예시

 

 

 

마무리

망 분리 환경에서도 pip download--find-links 옵션을 활용하면 인터넷 없이도 안정적인 패키지 설치가 가능하다.

이 절차를 사내 표준 설치 방식으로 정리해두면, 패키지 재배포나 개발환경 유지보수 시 유용하게 활용할 수 있다.

 

728x90
반응형