최근, 정말 감사하게도 Data Scientist 인턴 업무를 하게 되었다.
첫 인턴 근무이기에, 사내망 환경에서 개발을 해본 적이 없었다.
또, 회사 주 사업 특성상 기존 시스템이 존재하지 않았기에 정말 처음부터 개발 환경을 구축해야 했다.
인턴 첫 주가 정말 정신없이 흘러갔는데, 그래도 개발환경 구축에 대한 감을 잡았어서
이에 대한 정리를 해보고자 한다.
외부 인터넷 접속이 가능한 환경에서
pip download <패키지명> --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org
명령을 통해 패키지를 whl 파일의 형태로 다운로드받아준다.
그리고, 다운받아진 whl 파일을 사내 파일전송시스템 등을 통해 사내망 환경으로 전송해준다.
pip install --find-links <패키지 whl파일이 저장된 경로> --no-index <패키지명>
으로 설치해주면 정상적으로 설치된다.
예를들어, 나같은 경우엔 torch를 깔기 위해
pip install --find-links <패키지 whl파일이 저장된 경로> --no-index torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0
이런 식으로 torch2.1.0+cu118 버전을 설치해주었다.
내가 이 문제때문에 정말 (많이..) 헤맸었다.
whl 파일 분해를 처음 해봤다.
내가 깔아야 하는 패키지는 torch2.1.0+cu118버전이었는데, 해당 패키지는 원본 용량만 하면 약 8~9기가 정도가 됐었고,
whl파일로 최대 압축을 해도 2.6기가 정도의 용량이었다.
그런데 사내망으로 옮길 수 있는 최대 파일 용량은 1.5G였고, 관련 부서에 문의도 드려 봤는데 해결 방안은 패키지를 더 작은 용량으로 분해해 분할압축하고 보내는 방안 뿐이었다.
그래서 위 패키지를 깔기 위해 한 4개정도의 파일로 분할해 압축하고, 보낸 뒤 다시 재구축해서 리패키징하고 설치해주었다.
사실 따지고보면 어려운 작업이라기보다는 귀찮은.. 작업이다.
특히 lib폴더의 경우, 용량이 정말 커서 7z형식으로 압축해 전송했다.
wheel pack <패키지폴더명>
위 명령을 실행하면 리패키징이된다.
이때, cmd창에서 명령 수행이 완료되지 않고 무한로딩되더라도, 파일 최종 수정시간을 보고 판단해 종료해주면 된다.
pip install --user --find-links <패키지 whl파일이 저장된 경로> --no-index <패키지명>
요렇게