카테고리 없음

conda vs pip 비교하기

루피95 2025. 3. 2. 22:57

안녕하세요! 오늘을 conda 명령어와 pip 명령어의 차이점에 대해 알아보도록 하겠습니다!

앞에서 GCP 사용법을 정리할 때, cudnn을 깔면서 여러 패키지를 깔았는데(하도 많이 깔았어서 뭘 깔았는지 기억도 안납니다...)

그때 어디선 conda 명령어로 패키지를 설치하고 어디선 pip 명령어로 패키지를 설치했기 때문에 차이점이 궁금했었고, 언젠가 이 부분에 대해서 정리를 해봐야겠다! 하고 다짐했었는데 그 언젠가가 지금인거죠.!!

 

 

※참고로 저도 모든걸 다 아는건 아니고 공부하는 과정입니다! 제 글이 틀릴 수 있습니다!※

 

 


 

1. conda와 pip란 뭔가요?

conda란?

conda는 패키지 관리자이자 가상환경 관리자를 의미하며, Anaconda 및 Miniconda에서 제공합니다.

conda 패키지 관리자를 통해 Anaconda 저장소에서 존재하는 패키지를 설치하며 "conda install" 명령어를 사용합니다.

 

pip란?

pip는 Python 공식 패키지 관리자로, Python Package Index(PyPI)에 있는 패키지를 설치하는 도구이며 "pip install" 명령어를 사용합니다.

 


 

2. conda와 pip의 차이는?

두 명령어는 패키지를 설치하는 기능을 하지만 사용하는 패키지 관린와 설치 방식이 다릅니다.

 

2-1. 패키지 저장소 차이

  • conda install : Anaconda 저장소에서 패키지를 가져옵니다.
  • pip install : PyPI(Python 공식 패키지 저장소)에서 가져옵니다.

 

즉, Conda 저장소에 없는 패키지의 경우 pip install로 설치해야 합니다.

 

2-2. 의존성 해결방식의 차이

  • conda install은 패키지간 호환성을 자동으로 해결해 줍니다.
  • pip install은의존성을 직접 해결해야 하고, 충돌이 발생할 가능성이 높습니다.

 

2-3. 설치 속도의 차이

  • conda install의 경우 패키지를 바이너리(미리 컴파일 된 파일) 형태로 제공 > 즉시 사용 가능
  • pip install의 경우 소스코드 > 바이너리 혹은 바이트코드 변환 필요 > 컴파일 과정으로 인해 conda보다 실행 시간이 더 소요됨

 

여기서 컴파일이란 "소스 코드를 컴퓨터가 실행할 수 있는 형태로 변환하는 과정"을 의미합니다.

저희가 작성한 코드는 인간이 읽을 수 있는 텍스트지 컴퓨터는 알아듣지 못합니다.

그렇기 때문에 이런 소스코드를 컴퓨터가 알아들을 수 있도록 변환해 줘야하는데요.

이때 변환된 결과가 바이너리 혹은 바이트코드이며, 이 변환의 과정을 컴파일이라고 합니다. 그리고 이 작업을 수행하는 프로그램이 컴파일러가 됩니다.

 

conda의 경우는 애초에 기계가 이해할 수 있는 컴파일 형태의 파일이기 때문에 굳이 변환과정을 거치지 않아도 되지만 pip의 경우는 컴퓨터가 이해하기 어려운 소스코드기 때문에 컴파일의 과정을 한번 더 거쳐야하고 그래서 conda보다 더 많은 시간이 소요되는 것입니다.

 

2-4. 설치 경로 차이

conda install의 경우 conda의 pkgs 폴더에 패키지를 저장합니다.

pip install의 경우 Python의 site-packages 폴더에 패키지를 저장합니다.

 

conda의 경우 독립적인 conda 환경에 패키지를 설치합니다. conda환경은 별도의 가상 환경(독립적인 Python 환경)을 생성하고, 그 안에서 패키지들을 설치하는거죠. 따라서 conda install로 설치한 패키지는 conda 환경 내부에서만 사용할 수 있게 됩니다.

프로젝트 별로 별도의 가상환경을 만들어야 할 때 conda를 이용해 만들어진 가상환경에만 필요한 패키지가 설치되는 것입니다. 이는 프로젝트별로 패키지를 관리할 때 의존성이나 충돌문제에서 매우 유용할 거 같습니다.

 

pip의 경우는 Python의 site-packages폴더에 저장되는데, 이는 Python의 전역 환경이나 가상 환경에 패키지가 설치됩니다. Python 전체에서 설치되거나 혹은 가상환경 안에서 설치했다면 해당 가상환경 안에서만 패키지가 존재하게 됩니다.


 

 

3. 언제 conda install을 쓰고, 언제 pip install을 써야하나?

 

위의 내용을 정리해보면 conda는 패키지 및 의존성을 자동관리해주기 때문에 안정적인 특징이 있고, pip는 conda보단 더 많은 패키지를 지원하지만 의존성 충돌의 위험이 존재합니다. 

따라서 가능하면 conda install을 먼저 사용하고 conda 저장소에 없는 패키지만 pip install을 사용해 패키지를 관리해주는게 안정적인 방식이라고 볼 수 있습니다.

 


 

이렇게 conda와 pip의 차이에 대해 알아보았습니다. 

이 글을 읽으시는 분들에게 conda와 pip의 차이점이 많은 도움이 되길 바라며 만약 잘못된 부분이나, 질문이 있다면 댓글로 둥글게 부탁드려요~!~!

 

글 읽어주셔서 감사합니다.

반응형