-
Python 가상환경 비교, Anaconda/ Homebrew/ Git/ Docker 간단 정리 및 설치 TroubleshootingTips 2021. 8. 12. 22:50728x90반응형
(포스팅 할 수록 느끼는건데 티스토리 편집기 진짜 별로다.. 벨로그로 갔어야했나...)
*간단한 CLI 명령어
Python version 확인:
python --version
Directory 삭제:
`rm -r the name of the directory you want to delete`
- Directory가 비어있지 않으면 삭제가 안됨
`rm -rf the name of directory you want to delete`
- 비어있지 않은 directory도 삭제
*가상환경
가상환경 사용 이유:
원하는 환경을 구축하기 위해 필요한 패키지만 담아놓는 바구니 역할
프로젝트마다 요구하는 버전이나 패키지가 다를 수 있는 데, 이 때 충돌이 일어나기 쉽기 때문에 프로젝트 별 환경을 독립적으로 구축하기위해 사용
가상 환경 모듈의 종류: conda, pyenv, venv, virtualenv...
- conda
Anaconda Python을 통해 설치하는 가상환경 (pyenv 환경에서는 정상적으로 가상환경이 설치되지 않음)
머신러닝, 데이터 사이언스 분야의 다양한 라이브러리들이 설치되어있음. Requirements.txt로 패키지 관리.
설치가 간편하다는 장점이 있다.
- pyenv
Python version manager. 가상환경 패키지 관리는 virtualenv 등과 연계해서 사용
Window는 지원하지 않음.
Python 3.3과 3.4에서 사용하던 가상환경 도구였지만 3.6이후부터는 사용하지 말 것을 권고한다고 함.
- virtualenv
Python version2부터 사용되던 가상환경 라이브러리 (3에서도 사용 가능). 최근에는 많이 사용하지 않는다고 한다.
- venv
Python 3.3버전 이후부터 기본 모듈에 포함. 현재 설치된 python version을 기준으로 패키지 가상환경이 제공된다.
venv를 사용하기 위해서는 패키지 설치를 위한 pip이나 easy_install, 가상환경 관리를 위한 pyenv, virtualenvwrapper와 같은 추가적인 패키지를 설치해야해서 번거로움이 따르기 때문에 venv보다는 pipenv를 더 많이 사용한다고 한다.
- pipenv
Python에서 권장하는 가상환경 모듈. pipfile.lock을 기반으로 패키지 관리한다.
virtualenv로 가상환경을 생성하면서 pip으로 패키지를 자동 설치 - pip으로 패키지를 추가 설치하면 자동으로 pipfile에 변경사항이 반영됨
의존성 관리를 잘 처리한다는 점에서 pip freeze > requirements.txt를 사용하는 conda와 비교했을 때 장점이 있다 (충돌 발생 시 pipenv graph 명령어를 이용해 dependency tree 확인 가능). 같은 이름의 가상환경을 생성할 수 있고, 프로젝트 directory자체가 가상환경이 되기 때문에 더 좋기도 하다. (개발 폴더를 삭제하면 가상환경도 삭제됨)
- docker
가상환경은 python 프로젝트의 종속성 구조만 보는 반면 docker는 운영체제 이미지의 전체가 포함되어 있다. 즉, 어떤 OS환경에서도 설치할 수 있다는 장점이 있고 local에 생성되지 않기 때문에 다운로드 받는 OS가 어떤 환경이든 프로젝트 시와 동일한 환경을 구축할 수 있다.
* Homebrew
Mac에서 패키지를 관리하기 쉽게 만들어주는 software. 터미널에 brew list, update, upgrade같은 명령어로 프로그램 설치, 업그레이드를 손쉽게 할 수 있음
brew를 안쓰면??
*Git
작업 version 관리 시스템. 원격 코드 저장소인 github과 연동하여 software 개발, 버전 관리, 협업 등 여러 기능 제공
*설치 troubleshooting
Anaconda
Trouble: 처음에 Application 폴더에다 설치했더니 launchpad에서 "You do not have permission to open the application" 에러 발생 (터미널이나 directory에서는 실행 됨)
Solution:
1. 기존 경로에 설치된 anaconda app 삭제 (Move to trash or Appcleaner 사용) *바로가기도 삭제해야함
2. cli에서 아나콘다 설치된 경로로 들어가서 rm -rf anaconda3로 설치 폴더 삭제
3. .zshrc에 conda 환경변수 삭제 ← 이건 어떻게 하는지 모르겠다. 일단 해결한 방법은
- vi ./zshrc로 zshrc 파일 열기
-
아무 키나 누르니까 편집 됨편집키: i, 편집 후 저장: :wq# >>> conda init >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$(CONDA_REPORT_ERRORS=false '/miniconda3/bin/conda' shell.bash hook 2> /dev/null)" if [ $? -eq 0 ]; then \eval "$__conda_setup" else if [ -f "/miniconda3/etc/profile.d/conda.sh" ]; then . "/miniconda3/etc/profile.d/conda.sh" CONDA_CHANGEPS1=false conda activate base else \export PATH="$PATH:/miniconda3/bin" fi fi unset __conda_setup # <<< conda init <<<
- 이런 글만 떠서 경로를 새로 설치할 경로로 수정한 뒤 :wq 눌렀으나 read only라고 저장 안됨
- :wq누르니까 저장 안 됨, :q 누르니까 override 하겠냐고 물어봐서 yes 했더니 그냥 문서에서 나와짐
- 잘 수정됐는지 확인하려고 다시 zshrc 파일 열었더니 빈 파일만 뜸
- 그냥 초기화 됐구나 잘됐다 싶어서 다시 아나콘다 설치함
4. 다시 Anaconda 설치시 defalut 경로에 설치함 (opt)
5. 문제 해결!
VSCode
Trouble: CLI에서 code 명령어 실행 안됨
Reason: VScode에서 path를 인지하지 못함 (zsh: command not found:code)
Solution:
1. VSCode 실행
2. Command Palette 열기 (view > Command Palette 또는 단축키 shift+Command+P)
3. 'shell' 검색
4. 검색 결과 중 'Shell Command: Install 'code' command in PATH 클릭
5. 'Shell command 'code' sucessfully installed in PATH.' 라는 메세지가 뜨면 성공
6. 터미널 가서 code . 실행되는지 확인하기
728x90반응형'Tips' 카테고리의 다른 글
시간 단위 정리 - ns, ms, us, ps, fs (0) 2022.03.25 CPU 성능 측정에 관련된 용어들 - Clock cycle, Clock period, Clock speed, CPI, IC (0) 2022.03.25 포트포워딩으로도 외부에서 접속이 안 될 때: Ngrok으로 로컬PC 서버에 띄우기 (0) 2021.10.27 Oh-my-zsh 설치하기, zsh 테마 변경 및 한글 폰트 적용, 자동완성 설정하기 (0) 2021.08.20 Colab 런타임 끊김 방지하기 (0) 2021.07.07