Eli의 여백

바쁜 나날들 사이에서 생각났던 이런저런 것들을 적어봅니다.

IT/새로운 시도

Anaconda 설치와 최신 python 적용 및 vscode 연동 방법

Eli♪ 2021. 3. 12. 05:05

간만에 글을 올린다. 이번에 의도치 않게 머신러닝을 진짜로 하게 돼서 Anaconda를 깔았다. 그런데 최신 python은 3.9.2고 anaconda에서 제공하는 버전은 3.8.5라서 뭔가 찝찝한 나머지 최신으로 올려보자고 생각했다. anaconda를 깔면 기본으로 제공하는 anaconda navigator를 썼더니 무슨 문제인지는 모르겠지만 업데이트 가능이라고 떠있는데 업데이트가 안됐다. 그래서 그냥 터미널에서 진행했다. 복잡한 건 아닌데 기억하기는 어렵고, 나중에 다른 컴퓨터에서 세팅할 일이 있을 것 같아 글로 남겨본다.

아나콘다 설치

기본 python을 안깔고 아나콘다를 까는 이유는 관리의 용이성과 독립 환경 구성 때문이다. 이에 대해서는 이미 많은 곳에서 다루고 있으므로 생략하기로 한다.

설치 전, 향후 꼬일 염려가 있으니 기존에 설치되어있던 python을 지워준다. VScode에 연동하는법은 뒤에서 다룬다. 다음의 공식 홈페이지에서 스크롤 내려서 64비트로 다운 및 설치를 진행한다. 

 

www.anaconda.com/products/individual#windows

 

그리고 설치할때 path variable을 등록하지 말라고 한다. 그동안 편해서 좋았는데... 일단 시키는대로 설치. 설치방법은 아나콘다 문서에 더 자세히 나와 있다. 용량이 부족한 경우 최소한만 설치하는 미니콘다라는 게 있다.

 

설치된 것 확인

아나콘다 콘솔을 관리자권한으로 켠 후 다음을 입력해 본다.

python --version
conda --version

 

터미널 옆에 (base)라고 표시가 된다. 아나콘다 설치시 기본으로 주어지는 virtual env 이름이 base인데, 이게 보이는 것. 만약 윈도우 터미널을 켜서 python과 anaconda 버전을 확인했다면 설치시에 path 등록을 안했기 때문에 python 버전은 제대로 안나오고, conda 버전을 조회하면 에러가 난다.

 

설치된 virtual env 확인

아나콘다 콘솔에서 다음을 입력한다. 기본으로 깔아주는 base라는 이름의 virtual env가 표시된다.

conda env list

 

아나콘다 관련 모듈(라이브러리 패키지) 업데이트

위의 아나콘다 관리자권한 터미널에서 다음을 입력한다. (관리자권한이 아니면 권한문제 발생할 수 있음)

 

conda update -n base conda

관련 설명은 아나콘다 공식 문서에도 적혀 있다. 처음깔면 기본으로 주어지는 virtual env가 이름이 base이기 때문에 이렇게 한다. 기본으로 깔아주는 아나콘다 관련 모듈들을 업데이트한다. 만약 다른 python이 깔려있는 상태에서 설치했다면 뭔가 주르륵 뜰 것이고, 깨끗한 상태에서 아나콘다만 깔았다면 업그레이드는 안뜰 것이다.

 

PIP 업데이트(비권장)

pip install --upgrade pip

설치 자동화 패키지인 pip의 업그레이드 방법이다. 그러나 이걸 쓰면 anaconda에서 관리를 더이상 안해주기 때문에 웬만하면 쓰지 않는다.

 

그외 모듈들을 업데이트

아나콘다 관리자권한 터미널에서 다음을 입력한다.

 

conda update --all

깔려있는 모든 모듈을 업뎃한다. 모듈 갯수가 수백개는 되기 때문에 업데이트하는데 좀 걸린다. 그래도 귀찮은 dependency 문제를 알아서 아나콘다가 잡아주니 그냥 다 끝날 때까지 놔두면 된다. 참고로 이 과정에서 아나콘다 버전이 공식버전에서 커스텀버전으로 변한다. 한번에 안끝날수도 있으니 업데이트 끝나서 더이상 안뜰때까지 해준다.

 

신규 파이썬 버전의 virtual env 생성

시스템의 안정성을 위해 기본으로 깔아주는 base 라는 이름의 virtual env는 말고 독립된 가상환경을 구축하는 것이 좋다. 새로운 가상환경 생성을 위해 다음과 같이 입력했다.

conda create -n main python=3.9

conda create은 새로운 가상환경을 만든단 얘기고 -n은 name option이며, main은 내가 지은 이름, python 버전은 글 작성하는 지금 최신인 3.9를 입력했다. python 3.9.2와 함께 몇개 패키지가 설치된다. 기존에 base에 있던 다양한 패키지는 하나도 안깔리므로 나중에 필요한 것 위주로 깔아줘야 한다.

 

혹시 잘못생성한 경우는 deactivate 후 다음의 명령어로 지워준다. 마지막의 main 대신 잘못 생성한 env 이름을 적는다.

conda env remove -n main

지워졌는지는 다음의 명령어로 확인 가능하다.

conda env list

 

생성한 가상환경 활성화

기본 실행환경을 base가 아니라 앞에서 생성한걸로 바꿔주기 위해 다음을 입력한다. 그러면 이제 아나콘다 콘솔 앞에 붙는 이름이 (main) 으로 변경된다.

conda activate main

 

비활성화는 위의 사진에도 있듯이 conda deactivate를 입력하면 된다.

 

vscode와 anaconda 연동

vscode를 켠 후 Ctrl + Shift + P 를 누르고 python interpreter라고 검색하면 다음과 같이 나온다.

 

 

select interpreter를 누르고 아까 생성한 main을 선택해 준다.

 

 

연동된 터미널 켜보기

VScode에서 터미널 토글키는 Ctrl + ` 이다 (탭키 위의 키). 아래와 같이 켜자마자 알아서 main을 activate 해준다. 만약 일반 터미널인 채로 있다면 당황하지 말고 터미널 오른쪽 위의 쓰레기통 모양을 눌러주면 된다. 재부팅되면서 제대로 나온다.

 

 

python --version을 입력해 보면 최신 버전 파이썬으로 잘 나오는 것을 확인할 수 있다.

 

윈도 터미널에 conda shell 적용하기 (optional)

아나콘다 설치시에 path 등록을 안했기 때문에 그냥 터미널을 켜면 python도 안되고 conda도 안되어서 매우 불편하다. 나는 반투명한 질감이 좋아서 윈도우 터미널을 주로 사용하고 있기 때문에 사이트 1사이트 2를 적절히 참고해서 다음과 같이 윈도우 터미널에 conda shell을 적용했다.

 

1. 윈도우 터미널에서 탭 오른쪽에 있는 아래방향 화살표를 눌러서 세팅을 켠다.

2. profile list중에 아무거나 하나 복사해서 아래에 한개 복붙한다. 이 때 리스트 사이에 구분용 쉼표 넣어야한다.

3. 아무 powershell이나 켜서 다음을 입력한다.

New-Guid

4. 길다란 GUID가 나올텐데 이것을 복사해서 아까 복붙한 리스트에 guid로 넣어준다.

5. 아나콘다 터미널 바로가기를 찾은 다음 우클릭해서 속성을 눌러서 대상 이라고 되어있는 곳의 글자들을 복사한다.

6. 윈도 터미널 세팅 창에서 commandline field에 붙여넣은 후 다음 조치를 취한다. 참고로 source로 되어있으면 commandline으로 바꿔준다.

7. powershell.exe 앞에 있는거 다 지우고, 백슬래시(\) 한개짜리로 된거 다 2개로 바꿔준다.

8. name부분에 원하는 이름을 적어준다.

 

 

여기까지 하면 위 사진과 유사하게 되어있을 것이다. guid는 사진에 있는거 말고 자기가 생성한 guid를 넣어야 한다. 

9. 마지막으로 윈도 터미널 세팅에서 defaultProfile 이라고 된 부분에 conda virtual env용으로 만든 guid를 넣는다.

 

 

여기까지 하고 Ctrl + S를 눌러 저장을 하면 기본 shell 빼고는 즉시 적용된다. 터미널을 껐다 켜면 기본 shell도 conda로 바뀐다. 화살표를 눌러보면 아래와 같이 리스트에도 잘 뜬다. 아이콘 바꾸고싶으면 이 사이트를 참고한다.

 

 

미세 팁: 윈도우 터미널에서 반투명 하고싶으면 아래와 같이 구성해 준다. 기본값은 불투명인데 아래와 같이 useAcrylic과 acrylicOpacity를 넣어주면 저장하는 즉시 반투명으로 바뀐다. 일반적인 투명도 조절과는 달리 뿌연 투명이라 더 멋있다.

 

요약 및 결론

- 아나콘다를 깔고 최신 python으로 된 가상환경을 생성했다.

- VScode의 기본 interpreter를 생성한 가상환경으로 연동했다.

- 윈도 터미널에도 conda shell을 연동해 주었다.

 

이제 본격적으로 원하는 작업을 시작할 수 있을 것 같다. 끝.

 

기타 참고자료

[1] vscode 연동(그림포함): mylogcenter.tistory.com/7

[2] conda 명령어 모음: copycoding.tistory.com/62

[3] conda 명령어 모음2: m.blog.naver.com/jonghong0316/221683053696

[3] conda 환경 export/import: blog.ksc.re.kr/127

[4] conda 관리법: daewonyoon.tistory.com/311

[5] conda install에 관한 문서: docs.conda.io/projects/conda/en/latest/commands/install.html

[6] python venv 문서(conda env의 원형): docs.python.org/ko/3/library/venv.html

[7] anaconda에서 python 설치 명령어(공식문서): anaconda.org/anaconda/python