conda, pip, 가상환경

seonyang jang·2023년 10월 14일
0

연구실 프로젝트

목록 보기
3/6

Conda

conda는 Windows, macOS 및 Linux에서 실행되는 오픈 소스 패키지 관리 시스템 및 환경 관리 시스템이다.
Python, R, Ruby, Lua, Scalca, Java, Javascript, C/C++, FORTRAN 등 많은 언어들의 의존성, 패키지, 환경을 관리할 수 있다.
가상 환경을 생성 및 관리할 때 사용한다.

=> 아나콘다(Anaconda) 환경에서 패키지를 설치할 때 사용하는 시작 명령어이다.

Pip

pip는 파이썬 패키지 매니저이다.
파이썬 모듈의 설치, 업그레이드, 삭제를 할 때 사용합니다.
파이썬 환경에서 패키지를 설치할 때 사용하는 시작 명령어이다.

이름구분
pip파이썬 패키지 매니저
venv파이썬 가상환경 매니저
conda아나콘다에서 만든 가상환경+패키지 매니저

가상환경

여러 프로젝트를 진행할 때, 각 프로젝트마다 패키지의 버전이 다를 수 있다. 그래서 같은 환경에서 진행하면 버전 호환 문제로 오류가 발생할 수 있다. - 기본은 (base) 환경

서로 다른 환경에서 프로젝트를 진행할 수 있도록 새로운 가상 환경을 만들면 프로젝트에 맞는 패키지를 설치해서 사용하는데 문제가 없도록 할 수 있다.

아래 라이브러리들로 가상환경을 생성, 삭제, 활성화, 비활성화한다.

  • Virtualenv : Python 2 버전 때부터 쓰인 가상환경 라이브러리
  • venv : Python 3.3 버전 이후부터 기본모듈에 포함되어 있는 가상환경 라이브러리
  • conda : Anaconda = pip + venv + 과학

A100 Server

현재 나는 연구실에서 A100 GPU 서버를 사용 중이다.
컨테이너를 만들어서 Jupyter Lab을 사용해서 딥러닝 프로젝트를 진행하는데, 무슨 이유인지 KoBERT 코드를 돌리는데 중간에 오류가 났다.
그래서 여러가지 찾아서 따라해봤지만 계속 오류가 발생하길래 차라리 이 A100 서버에서 JupyterLab이 어떻게 돌아가고, JupyterLab에서 kernel을 여러개 만들어서 쓰는 이유 등 전반적인 지식을 쌓기로 결심하였다.

먼저, JupyterLab에서 terminal을 열면 나오는 화면은 리눅스 termianl이다.
Anaconda를 다운 받아서 가상환경 만들어서 사용해볼려고 했는데 잘 안 되서 그냥 venv 쓰기로 했다.

내가 쓰는 서버는 NVIDIA-A100-SXM4-40GB를 사용 중이고, Driver-version을 알아야하는데 ubuntu-drivers devices 명령이 오류가 나서 인터넷에 찾아보니 드라이브 버전은 다음과 같더라.

451.48 (26.21.14.4292)
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions 에서 찾아보면 CUDA 11.1 미만을 사용할 수 있고

A100 40GB
https://www.wikiwand.com/en/CUDA#/GPUs_supported 에서 찾아보면 Compute
capability이 8.0이므로,


이 그림에서 CUDA 11.0부터 사용 가능한 것을 알 수 있다.

즉, 두 조건의 교집합은 CUDA 11.0이므로 CUDA 11.0을 설치해야한다.

참고 자료

Conda 공식 문서
도움코드 쉬운예 DoumCode 데이터홍교수 - conda와 pip 차이 뭘까요? 채널 무엇일까요? | 파이썬 패키지 빠른 재설치, conda-pack 1화
위키도스

profile
오늘도 화이팅!

0개의 댓글