미니콘다(miniconda3) 설치 및 가상환경 생성방법

mincheol2·2022년 2월 17일
2

Etc

목록 보기
1/3

슬픈 이유

그동안 나는 가상환경 관리를 아나콘다로 해왔다.
정확히는 Anaconda Navigator 로 가상환경을 관리하였는데 GUI 환경에서 가시적으로 가상환경을 관리 할 수 있어 편리하다는 장점 때문이었다.

하지만 편리함과 맞바꾼게 있었으니 바로 용량이다.

컴퓨터를 포맷하고 널널한 C드라이브에서 아나콘다를 새로 깔때면
"이정도 용량쯤이야 거뜬하지 C드라이브??" 라고 물어보았고
C드라이브의 남은 용량 표시는 "응 이정도는 거뜬해" 라고 답해주었다.


하지만 시간이 흐르고 하수구 배관에 머리카락이 쌓이듯
아나콘다의 용량은 조금씩커져 40GB에 이르게 되었다.


애초에 쓸데 없는 가상환경은 다 지우고 base를 포함해 가상환경은 2개 밖에 남아있지 않았지만, 40GB 라니 딱히 한것도 없는데 너무 용량을 많이 먹고 있는게 아닌가 생각이 들었다.

conda clean -a 로 가상환경의 cache도 지워봤지만 30기가 언저리일 뿐 뭔가 잘못되어 있음을 느꼈다.

알아보니 Anaconda 가상환경 생성시 굉장히 많은 라이브러리를 다운 받는데 대부분 쓰지 않는 것이었다.
아무리 라이브러리가 많다고 해도 40GB는 잘못된 것 같았기에 깔끔하게 놓아주자 마음을 먹었다.

우선anaconda3 / Uninstall-Anaconda.exe 를 실행해 기존의 아나콘다를 말끔히 지워주었다.

미니콘다 설치

좀더 라이트하게 관리하기 위해 Anaconda 대신 mini-conda 라는 아나콘다의 라이트 버전을 설치하였다.
미니콘다 다운로드 링크

여기서 각자 환경에 맞는 미니콘다를 설치하면 된다.
필자의 경우 windows64-bit 이기 때문에 Miniconda3 Windows64-bit를 다운 받았다.
(어짜피 가상환경 생성할 때 파이썬 버전을 지정해주기 때문에 파이썬 버전을 크게 신경쓰지 않아도 될 것 같다)


Just Me를 선택하자. Permission 에 관한 차이가 있으나 요즘엔 Just me로 하는걸 추천한다고 한다.
자세한 차이를 알고 싶으면 Just me vs All Users 이 링크를 보자




많은 사람들이 default path로 설치하는 모양이다. 나중에 이슈가 있을 때 이상한 곳에 설치해 두면 괜히 찝찝하니 그대로 두고 설치를 진행하자.


Add Miniconda3 to my PATH environment variable
환경변수로 지정해주는 옵션인데 cmder 를 쓰는 사람이라면 설정해주는게 좋다.

그리고 Install을 눌러 설치하면 끝난다.

가상환경 설정

미니콘다에는 Navigator가 없어 실망했다...

그래도 가상환경을 만들어야 하니 시작메뉴에서 Anconda Prompt를 켜주자.(cmd도 상관없다)

가상환경을 만드는 명령은 다음과 같다.

conda create -n [프로젝트이름] python=[버전]

그리고 파이썬 버전 3.7인 test_env 라는 가상환경을 만들어보자.

conda create -n test_env python=3.7  을 입력해 주자.


계속하겠냐고 물어보면 y를 누르고 Enter를 누른다.





done 이라고 깔끔하게 떴다면 가상환경 설치가 끝났다.



이제 잘 설치 됐나 확인 해보자.

conda info --envs   을 입력하자.


test_env가 잘 설치된 것을 볼 수 있다.

🎉🎉🎉



Conda 가상환경 주의할 점

추가적으로 conda 가상환경 설정시 주의할 점을 알아보자.

우선 conda의 가상환경은 Tree 구조를 가진다는 것이다.

이말인 즉슨 기본적으로 conda 설치시 제공되는 환경인 (base)에서 만드는 가상환경은 (base)의 라이브러리를 상속받게 된다.

그렇기 때문에 Jupyter Notebook 같은 기본적으로 계속 사용하는 라이브러리의 경우 base 에서 설치를 해주고 가상환경을 생성하면 추가적인 설치 없이도 Jupyter Notebook을 사용할 수 있게 된다.

편리하기도 하지만 라이브러리 버전이 꼬여버릴 수도 있기 때문에 base 가상환경은 왠만해선 건드리지 않는 것이 좋다.
(그리고 귀찮다고 가상환경마다 마구 설치하다가 대용량 콘다가 되어버린다)

그리고 conda는 local에 설치된 window의 영향 을 받기 때문에 잘쓰다가 연결성이 꼬이게 되면 골치아프다.



다른 가상환경?

그래서 요즘은 WSL 이나 docker를 많이 사용한다.

특히 WSL 은 window에 영향을 받지 않은 독립적인 환경을 구축할 수 있기 때문에 conda 처럼 가상환경이 꼬일 일이 없다.

docker는 그냥 제로부터 시작하는 가상환경이다.
os도 개발환경도 모두 빈 깡통(container 라고 한다) 에서 시작하기 때문에 요즘 개발환경 셋팅은 docker로 많이들 하신다.

물론 os도 설치해야하기 때문에 Window나 Mac을 쓸 수도 있지만 무료인 Linux를 많이 사용한다.

또한 dockerimage 라는 가상환경에 필요한 파일이나 설정값을 (class 라고 생각하면 편하다) 다운 받으면 container (객체 라고 생각하면 편하다) 를 생성하여 마구잡이로 가상환경을 custom하여 생성할 수 있다는 장점이 있다.

profile
옹오옹오오오옹ㅇㅇ

0개의 댓글