카테고리 없음

conda and pip 그리고 아나콘다 가상환경 셋팅

HyunJung_Jo 2021. 10. 20. 11:01

먼저 conda와 pip 비교를 해보겠다. 

아나콘다는 가상환경 설정 + 패키지 관리까지 가능,

pip는 오직 파이선 패캐지 관리만 가능한 것이

비교할만한 주요한 특징이다. 

https://www.anaconda.com/blog/understanding-conda-and-pip

 

Anaconda | Understanding Conda and Pip

Conda and pip are often considered as being nearly identical. Although some of the functionality of these two tools overlap, they were designed and should be used for different purposes. Pip is the Python Packaging Authority’s recommended tool for instal

www.anaconda.com

 

 

 

 

 

그리고 중요한 가상환경 구성하기.

 

환경 설정하다보면 여러모로 버전 체크 때문에 머리가 아프다. 뭐만 하면 무슨 패키지가 버전이 안맞아서 에러나고, 그래서 다운 그레이드 해주고, 업그레이드 해주고... 그렇게 하나 고치면 뭐가 하나 또 난리가 나고 ㅠㅠ 

그래서 초반에 설정을 잘 해주는게 중요한데, 

 

0번째로 nvidia driver 설치부터 해주고 

nvidia graphic driver version check는

1. 바탕화면 우클릭 > nvidia 제어판 > 도움말 > 시스템 정보 > 디스플레이 들어가면 나옴

 

 

첫번째로 내 컴퓨터 사양과 OS, GPU version (command line : nvidia-smi ; 설치가능한 maximum cuda version) 은 꼭 체크해주고 

우측상단 CUDA Version : 11.4란 뜻은 11.4 까지 가능하다는 말.  
nvcc --version은 현재 설치한 cuda version 확인. 추후 확인시 도움 됨 // 나머지 두개 명령어는 windows에서 내가 갖고 있는 GPU 확인

https://winbuzzer.com/2020/08/21/how-to-check-what-graphics-card-you-have-on-windows-10-xcxwbt/

 

How to Check Which Graphics Card You Have on Windows 10

We show you how to perform a graphics card check in Windows 10 so you can find its name, VRAM, or other information.

winbuzzer.com

 

두번째로 아나콘다 각자 OS에 맞게 깔아주고 (공홈 문서)

 

 

세번째로는 가상환경을 만든다. (참고 공홈 문서

  • 보통은 이런식으로 쳐서 만든다.
  • conda create -n env_name python=3.x​
  • conda create -n env_name python tensorflow numpy scipy=0.15.0​
    이런식으로 설치 패키지를 나열하거나 특정 버전을 지정해줄 수도 있다. 보통은 conda에서 알아서 dependency 조정을 해주기 때문에 버전을 따로 지정 안해도 된다. 
  • 그다음에 터미널에 뜨는 대로
    conda activate env_name​
  • 일반적으로 설치하는 패키지를 한번에 설치하는 command line은 아래 정도면 된다.
  • conda install notebook matplotlib pandas seaborn -y
  • 특정 가상환경을 yml file에 저장해서 그걸 그대로 복붙해서 깔고 싶으면 그렇게 해도 된다. (공홈)
  • 그 외에 필요한 패키지는 anaconda navigator나 anaconda/repo에 들어가서 찾아본 다음에 커맨드 복붙하면 된다.

 

네번째로 내가 깔고자 하는 Framework(TF or Pytorch) 가 cuda 버전 어떤 것과 맞는 지 확인한다.

  • 아나콘다 가상환경을 만들어준 후에 그 안에서 설치한다.
  • pip로 tensorflow 깔면 cuda, cdnn을 일일이 버전 찾아서 깔아줘야 하는 수고가 필요하나... 킹갓 conda로 깔면 그런거 필요 없이 알아서 깔아준다.(참고)
  • TF :  공홈 > 설치> 소스에서 빌드> 각자에게 맞는 OS > CUDA 버전에 맞는 TF 버전과 파이썬 버전 체크 
  • Pytorch : 공홈 > Get Started > Start Locally >  친절하게 각자 사양에 맞춰서 이미 표시된 셋팅으로 나온 명령어 복붙)

 

 

 

다섯번째로는 아나콘다에 필요한 버전 다 깐 다음에 pip install 해서 필요 한 걸 받아주면 된다.

아나콘다와 pip는 서로 개별적이기에 상호 버전 체킹이 안된다. 아나콘다 공식 블로그에 따르면 서로 충돌날 수 있기에 선 아나콘다 설치 pip 설치를 하라고 했다.

 

그리고 pip 설치시에는 꼭 파이썬 버전을 체크해서 그에 맞는 버전을 선택해야 한다. 최신 버전으로 설치시 웬만하면 파이썬 3.x를 지원할 것이나.. 혹시 모르니까 PyPi 사이트 들어가서 realease history 보면서 파이썬 버전에 맞는지 봐야 한다.

 

좌측 하단에 있는 Programming Language가 지원하는 언어 버전이다.

 

 

혹자는 미칠것 같은 버전 관리를... dependency hell이라고 부르던데 ㅋㅋㅋㅋ

이 글 한번 읽어보시라

 

Python Dependencies - Everything You Need to Know

Everything about Python dependencies - from managing and adding, to packaging, checking or downloading. Here's all you need to avoid dependency hell and keep your Python environments in sync.

www.activestate.com

나는 나중에 읽어보도록 하겠다.

 

 

 

마지막으로는

With conda, you can create, export, list, remove, and update environments that have different versions of Python and/or packages installed in them. Switching or moving between environments is called activating the environment. You can also share an environment file.

그러므로, 가상환경 관리에 필요한 정보는 공홈에 다 있으니까 한번씩 심심하면 봐주는 것도 좋다.

Cheat sheet도 있으니까 Command Line 생각 안나면 가끔씩 쳐다봐주자.

 

 

이렇게 셋팅해도 좋지만 요즘은 도커로 환경 설정하는 것도 좋은데... 

그건 나중에 공부해서 한번 올리도록 해보겠다. 

 

(혹시나 틀린거 있음 댓글로 남겨주시기 바랍니다.)