설치 방법 | 설치 명령어 | 장단점 | 사용하는 경우 |
---|---|---|---|
conda | conda install python=3.11.0 | - conda를 사용 중이라면 별다른 도구 없이 설치 가능 - conda의 용량이 큰 편 | conda를 이미 사용하고 있고, conda 중심으로 세팅하는 경우 |
Docker | docker pull python:3.11.0 | - 로컬 환경에 바이너리를 설치하지 않기 때문에 파이썬 설치, 삭제가 쉬움 - 파이썬을 이용하기 위해 컨테이너에 매번 접속해야 함 | 로컬 환경과 파이썬 설치 환경을 완전히 분리하고 싶은 경우 |
패키지 관리자 | - brew install python@3.11 - apt install python3.11 - winget install Python3.11 | - 설치가 간단 - 패치 버전까지 포함하는 파이썬 특정 버전을 설치할 수는 없음(예: 3.11.1) | CLI를 통해 빠르고 간단하게 설치하고 싶은 경우 |
pyenv | pyenv install 3.11.0 | - 파이썬의 여러 버전을 설치하고, 다룰 수 있음 - pyenv를 먼저 설치해야함 | 여러 파이썬 버전을 바꿔가며 사용해야 하는 경우 |
python -m venv "가상 환경 폴더를 만들 경로"
# 패키지 설치
pip install "패키지 이름[==버전]"
# 설치된 패키지 목록 출력
pip list
# 의존성 패키지는 제외하고 출력
pip list --not-required --format==freeze
# requirements.txt에 설치한 패키지 목록을 저장
pip freeze > requirements.txt
# requirements.txt 내의 패키지를 다른 컴퓨터 혹은 다른 가상 환경에 설치
pip install -r requirements.txt
# 최신 버전의 pip을 이용하기 위해 pip upgrade
pip install --upgrade pip
pip uninstall
시 의존성이 있는 패키지들까지 삭제되지는 않음poetry add
명령어로 패키지를 설치하며, -D
옵션을 붙이면 개발 환경에서만 사용할 패키지를 설치할 수 있음![실행을 원하는 command 앞에 붙어있는 숫자]
를 입력하면 해당 command를 다시 실행할 수 있음bash vi-test.sh
# 필요한 이미지 다운
docker pull "이미지 이름:태그"
# 다운받은 이미지 목록 확인
docker images
# 이미지를 기반으로 컨테이너 생성
docker run "이미지 이름:태그"
# 실행 중인 컨테이너 목록 확인
docker ps
# 컨테이너에 진입
docker exec -it "컨테이너 이름(ID)" /bin/bash
# 실행 중인 컨테이너를 중지
docker stop "컨테이너 이름(ID)"
# 중지된 컨테이너 삭제
docker rm "컨테이너 이름(ID)"
-v Host_Folder:Container_Folder
docker run -it -p 8888:8888 -v /some/host/folder/for/work:/home/jovyan/workspace
(1) 회사의 비즈니스를 파악
(2) 데이터에 대해 파악
(3) 예측 결과의 활용성에 대해 파악
랩업 리포트 작성까지 마무리하니 정말 대회가 끝났다는 실감이 났다. 리포트를 충분히 잘 작성하였다고 생각하면서도 '이런 부분이 조금 더 보완이 되면 좋겠다' 하는 생각이 조금씩 들기는 한다. 부캠에서 살아남기에서 4기 선배 캠퍼분들께서도 기록이 정말 중요하다고 강조를 해주셨던 만큼, 개인적으로도 시간이 날 때 랩업 리포트를 기반으로 경진대회에서 진행한 것들에 대하여 조금 더 다듬어서 기록해야겠다.
과제를 통해 streamlit을 이용하여 웹에 서비스를 배포하는 과정을 처음으로 경험해 보았다. 학습한 모델을 이용하여 classification을 할 수 있도록 하니 실제 회사 입사해서 서비스를 배포하는 느낌도 들고(?) 정말 신기했다. 머신러닝 모델링 코드는 머신러닝 시스템 중 일부에 불과하다는 것의 의미가 더 와닿았다. 앞으로 프로젝트를 진행하면서 머신러닝 모델에 대한 것뿐만 아니라, 머신러닝 시스템에 대한 전반적인 지식을 잘 습득할 수 있도록 해야겠다.