Python package 는 한번 설치하면 쭉 관심이 없는 경우가 많다.
하지만, 개발 환경에서 개발 후 코드를 배포할 때 실행 환경에서는 패키지를 새로 설치해야 하니
패키지 목록을 잘 관리해야 한다.
혹은, 임베디드 같은 환경에서는 실행환경에서 패키지 다운로드가 되지 않으니 설치파일을 함께 제공해야 한다.
이런 경우 어떤 방법이 있는지 알아보자.
(물론 아래 대부분 환경은 가상환경으로 관련된 package 만 있는 상태를 가정으로 한다. )
1. 패키지 목록 추출
개발환경에서 현재 사용된 패키지의 목록을 가져가는 방법.
pip freeze > requirements.txt
pip freeze 명령을 사용하여 현재 환경에 설치된 패키지와 버전을 출력합니다. 이 출력을 requirements.txt 파일로 리디렉션합니다.
이렇게 하면 현재 가상 환경에 설치된 모든 패키지와 해당 버전이 requirements.txt 파일에 저장됩니다.
2. 패키지 설치 (온라인 환경)
위의 만들어진 requirements.txt 를 이용하여 다운로드 설치 합니다.
pip install -r requirements.txt
3-1. 패키지 다운로드 (오프라인 환경 대비. 온라인 다운로드)
2번과 같은 방법으로 설치 환경이 온라인 환경이라면 좋겠지만,
실행 환경이 오프라인 환경인 경우, 설치파일을 확보하여 설치하는 방법도 있습니다.
먼저 설치파일을 확보합니다.
1의 과정으로 requirements.txt 는 있는 상태입니다.
아래와 같이 실행하면 한개의 패키지에 대한 설치 파일을 다운로드 할 수 있습니다.
// 단일 패키지 다운로드 방법
pip download 패키지이름
우리는 requirements.txt 를 작성한 상태이니 해당 파일을 이용해서 다운로드 해줍니다.
// 여러개의 패키지를 다운로드 하는 방법
// 1. 현재 경로에 다운로드
pip download -r requirements.txt
// 2. 혹은 지정된 경로에 다운로드
pip download -r requirements.txt -d /path/to/save/packages
3-2. 패키지 설치 (오프라인 환경)
준비된 패키지 파일을 몽땅 들고 설치를 해줍니다.
pip install --no-index --find-links /path/to/packages -r requirements.txt
/path/to/packages : 다운로드한 패키지 파일이 저장된 디렉토리
--no-index : PyPI와 같은 온라인 인덱스를 사용하지 않음
--find-links : 패키지 파일이 있는 로컬 디렉토리를 지정
3-3. 그냥 패키지 파일로 설치
혹은 이미 패키지 파일이 모두 있는 경우에는 아래와 같은 방법도 가능합니다.
[packages.txt]
/path/to/package1.whl
/path/to/package2.tar.gz
/path/to/package3.zip
pip install -r packages.txt
'C.S. > Coding' 카테고리의 다른 글
| python 을 이용한 ping test (0) | 2024.05.21 |
|---|---|
| python 을 이용한 onvif 에서 임의의 메시지를 보내는 방법 (0) | 2024.05.13 |
| python suds_passworddigest 설치시 오류 (0) | 2024.05.13 |
| pyqt5 설치시 오류 해결 방법 (0) | 2024.03.17 |
| [StackExchange] i++ 이 빠를까요? ++i 가 빠를까요? (어셈블리 코드 / 디컴파일을 봐야 하는 이유) (0) | 2023.06.15 |


