Post

[conda vs. pip] 안정적인 가상 환경 구축을 위한 패키지 관리

[conda vs. pip] 안정적인 가상 환경 구축을 위한 패키지 관리

⚪ conda vs. pip: 설치 방식의 차이와 가상환경에서의 사용법

딥러닝을 배우는 초창기 과정에서 필수로 깔아야하는 Anaconda 패키지를 사용하다보면 여러가지 문턱에 부딪힌다.

터미널에서 각종 패키지도 깔아야하고 코드가 돌아가게끔 버전을 맞춰야하기도 한다.

혹시 서버를 사용하고 있다면 다른 사용자들과 충돌은 민감한 이슈라서 각자의 가상 환경을 구축하는 것이 필수다.

그래서 가장 많이 사용하는 가상환경인 conda를 사용하다보면 이런 의문이 든다.

어떨 때는 pip install 이고 어떤 때는 conda install이네…

그래서 이번 기회에 한번 정리해보고 효율적인 방법을 공부해보았다.

🟡 요약

  1. conda는 시스템급 패키지 설치에 강하고, pip은 Python 패키지에 강하다.
  2. 둘 다 conda 환경 안에서만 쓰면 충돌 없이 잘 작동함!

🟡 1. conda install vs pip install 차이점

| 항목 | conda install | pip install | |——|——————|—————-| | 📦 패키지 출처 | Conda 전용 리포지터리 (defaults, conda-forge 등) | PyPI (Python Package Index) | | 🌎 설치 범위 | Python + 비-Python(C, C++, CUDA 등) 포함 | Python 패키지 전용 | | ⚙️ 의존성 관리 | 전체 시스템 의존성 관리 (더 안전함) | Python 모듈 간 의존성만 관리 | | 💥 충돌 가능성 | 낮음 (잘 정제됨) | 상대적으로 높음 | | 💻 설치 대상 | 패키지 + 컴파일된 바이너리 포함 | 보통 .whl or source | ;

비유
  • conda: 운영체제 수준까지 다루는 미니 패키지 매니저
  • pip: Python 전용 설치기

🟡 2. pip install 써도 괜찮을까?

괜찮다! 단, 아래 조건만 잘 지키면 안전하게 사용할 수 있음:

조건설명
✔️ conda activate 된 상태에서 pip 사용환경 안에 깔림
✔️ conda로 설치 먼저 시도속도, 호환성, 안정성 유리
❌ conda/pip 혼용 마구잡이 사용의존성 꼬임 발생 가능
❗ C++ / CUDA 등 포함된 라이브러리는 conda 선호예: PyTorch, OpenCV 등

🟡 3. 실전 예시

1
2
3
4
5
6
7
8
# 환경 진입
conda activate myenv

# 1. conda 먼저
conda install numpy

# 2. 없으면 pip
pip install wandb

🟡 4. pip로 설치된 패키지 확인

1
conda list
  • pypi_0 으로 표시된 건 pip로 설치된 패키지!

🟡 마무리

  • 웬만하면 conda 먼저, pip는 보조 수단
  • 둘 다 conda env 안에서만 사용하면 문제 없음!
  • 최신 패키지가 pip에만 있을 땐 과감히 pip 사용해도 됨

📌 참고

This post is licensed under CC BY 4.0 by the author.