사내망 개발환경 구축 관련

Jaewon·2023년 12월 25일
0

우당탕탕

목록 보기
6/22

최근, 정말 감사하게도 Data Scientist 인턴 업무를 하게 되었다.
첫 인턴 근무이기에, 사내망 환경에서 개발을 해본 적이 없었다.
또, 회사 주 사업 특성상 기존 시스템이 존재하지 않았기에 정말 처음부터 개발 환경을 구축해야 했다.

인턴 첫 주가 정말 정신없이 흘러갔는데, 그래도 개발환경 구축에 대한 감을 잡았어서
이에 대한 정리를 해보고자 한다.

  • 개발환경: Windows

사내망 개발환경 구축

패키지 whl 파일 로컬에 다운로드

외부 인터넷 접속이 가능한 환경에서

pip download <패키지명> --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

명령을 통해 패키지를 whl 파일의 형태로 다운로드받아준다.
그리고, 다운받아진 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 파일 용량 제한이 걸리는 경우

내가 이 문제때문에 정말 (많이..) 헤맸었다.
whl 파일 분해를 처음 해봤다.

내가 깔아야 하는 패키지는 torch2.1.0+cu118버전이었는데, 해당 패키지는 원본 용량만 하면 약 8~9기가 정도가 됐었고,
whl파일로 최대 압축을 해도 2.6기가 정도의 용량이었다.

그런데 사내망으로 옮길 수 있는 최대 파일 용량은 1.5G였고, 관련 부서에 문의도 드려 봤는데 해결 방안은 패키지를 더 작은 용량으로 분해해 분할압축하고 보내는 방안 뿐이었다.

그래서 위 패키지를 깔기 위해 한 4개정도의 파일로 분할해 압축하고, 보낸 뒤 다시 재구축해서 리패키징하고 설치해주었다.

사실 따지고보면 어려운 작업이라기보다는 귀찮은.. 작업이다.
특히 lib폴더의 경우, 용량이 정말 커서 7z형식으로 압축해 전송했다.

  • 우선, 기존 패키지의 파일 계층구조가 맞도록 분할압축해 사내망으로 전송시켜준다.
  • 기존 패키지 파일 계층구조와 맞게 압축파일을 풀어준 뒤, whl 파일로 리패키징을 해준다.

whl파일로 리패키징

wheel pack <패키지폴더명>

위 명령을 실행하면 리패키징이된다.
이때, cmd창에서 명령 수행이 완료되지 않고 무한로딩되더라도, 파일 최종 수정시간을 보고 판단해 종료해주면 된다.

Could not install packages due to an OSError 오류 관련

  • --user 옵션을 추가해주면 된다.
pip install --user --find-links <패키지 whl파일이 저장된 경로> --no-index <패키지명> 

요렇게

profile
v ^_^ v

0개의 댓글