본문 바로가기
7. 기타 정보보안 실무 TIP

인터넷 통신이 되지 않는 내부망에서 파이썬 패키지 pip 설치 방법(ex : pyinstaller)

by Robert8478 2024. 4. 15.

기본적으로 pip install 방식은 인터넷 통신이 되는 상황에서만 사용할 수 있다. 그러나 실무에서 내부망에 파이썬 코드를 넣고 pyinstaller를 돌려 악성코드를 생성하는 등 작업을 하려고 할때 pip install이 되지 않아 고생을 한 적이 있다.

이럴 땐 아래의 방법을 사용하여 설치를 할 수 있다.

[방법 1]

인터넷 환경에서 아래의 명령어를 실행하여 패키지를 다운로드 받는다. 이는 해당 pc에 인스톨하는게 아닌 whl 파일을 다운로드 받는 명령어이다.

# pip download <packagename> <options>
 
## 버전 지정
# pip download six==1.13.0 -d /pipdownload 

해당 패키지가 여러개의 whl파일을 사용할 경우 모든 whl 파일들이 다운받아진다. 해당 whl 파일들을 전부 내부망으로 옮긴 후 아래의 명령어를 사용한다.

## 패키지 개별 설치
pip install --no-index --find-links=. pyinstaller
 
## 패키지 목록으로 설치
pip install --no-index --find-links="./" -r .\requirements.txt
(목록 설치의 경우 requirements.txt 파일을 생성하고 whl 파일들의 패키지 명을 한줄 한줄 넣어주어야한다.)

 

위의 방법들이 불가한 경우 아래의 방법을 사용해본다.

 

[방법 2]

https://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

pypi 페이지에 접근하면 각종 파이썬 패키지들을 수동으로 설치할 수 있다.

검색창에 원하는 패키지명을 검색하고 설치 패키지를 클릭한다.

Download Files를 클릭하면 저렇게 tar.gz로 된 파일이나 whl로 된 파일이 존재한다.

tar.gz로 받아야 하는 파일은 설치하고 아래 명령어를 입력한다.

# python -m setup.py

(하지만 여기서 추가적으로 setup.py를 돌리는 과정에 필요한 각종 모듈들로 인해 일일이 모든 모듈들을 설치해주어야하는 번거로운 작업이 이루어질수 있다...)

whl 파일은 설치하여 아래 명령어를 입력한다.

# python -m pip install ~~~.whl

(이 방법의 경우도 해당 whl 뿐만 아니라 다른 추가적인 모듈들이 필요할 경우 인터넷 접속을 요구하며 다른 모듈을 추가 설치해야한다.)