원하는 Python 패키지 디펜던시까지 모두 다운로드

작성자 김민태 수정일 2022-10-17 16:43

#스파클링소다, #nexus, #python, #디펜던시, #스파클링소다3.0

아티클 관련 제품: SparklingSoDA3.0

들어가며

  • 대부분 Python 패키지를 다운받거나 설치할 때 많은 사용자들은 pip를 이용할 것 입니다. 
  • 스파클링소다를 비롯한 내부 저장소(NEXUS)들을 사용할 때에는 미리 외부 인터넷 접속이 가능한 환경에서 관련 패키지들을 다운받아 폐쇄망 환경의 저장소에 업로드를 해야하는 경우가 발생합니다.


이러한 경우 파이썬 디펜던시들을 모두 모아 tree 형태로 출력해주는 pipdeptree라는 패키지가 유용합니다. 



내용


pip install pipdeptree 


해당 패키지를 설치하고 나면 설치되어있는 패키지의 디펜던시 트리를 requirements 형식으로
저장하게 하는 -p 옵션을 이용하여 패키지 관리가 가능합니다. 



pipdeptree -p  <설치 된 패키지 이름> 

출력된 내용을 모두 복사후 requirements.txt 파일로 만듭니다.






✖︎ 하지만 현재 출력 된 내용은 requirements로 만들기에 부적절한 형식이니 좀 더 보기 편하게 재정렬 합니다. 

pipdeptree -fp <설치 패키지 이름> 


좀 더 보기 좋아졌습니다. Sed 명령어를 이용하여 들여쓰기까지 조절합니다.
pipdeptree -fp tensorflow | sed 's/ //g' 




위 출력문으로 requirements.txt 파일을 만들고 pip download 명령어를 아래와 같이 입력합니다. 


pip3 download -r requirements.txt 



마무리

  • 위 명령어 입력시 명령어을 실행한 디렉토리에 다운로드 대상(디펜던시 모두 포함)파일들이 모두 다운로드 됩니다.
  • 다운로드 된 파일을 내부 저장소(ex NEXUS)에 업로드 합니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300