망 분리 환경에서는 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 --version 및 pip --version 명령어를 통해 환경 정보를 확인하는 것이 좋다.
설치 성공 예시

마무리
망 분리 환경에서도 pip download와 --find-links 옵션을 활용하면 인터넷 없이도 안정적인 패키지 설치가 가능하다.
이 절차를 사내 표준 설치 방식으로 정리해두면, 패키지 재배포나 개발환경 유지보수 시 유용하게 활용할 수 있다.
728x90
반응형
'Language > Python' 카테고리의 다른 글
| 파이썬 가상환경 venv, 왜 써야할까? (0) | 2025.05.22 |
|---|---|
| Python 패키지 관리 - requirements.txt 활용 및 패키지 일괄 삭제 (0) | 2025.03.08 |
| [Python] 모듈이 있는데 No module named XXX 에러가 뜰때 점검사항 (1) | 2021.11.23 |
| [Python] sys.path에 관해 (1) | 2021.11.23 |
| 파이썬 FCM연동, 앱으로 푸시알림 보내기 (2) | 2021.10.29 |