AI/Trouble Shooting

conda 가상환경에서 pip 분리하기

sangwonYoon 2023. 5. 22. 23:58

프로젝트를 진행할 때 패키지의 버전을 독립적으로 관리하기 위해 conda 가상환경을 생성해 본 적이 있을 것이다. 새로운 가상환경을 통해 환경을 분리하면 local에서 전역으로 설치된 패키지들은 이 가상환경 내부에서 사용할 수 없어야 한다고 생각할 것이다. (적어도 나는 그렇게 생각했다...) 그러나, 새롭게 생성한 가상환경에서 pip list 명령어를 통해 설치된 패키지를 확인해 보면 local에서 pip로 설치한 패키지를 모두 확인할 수 있다.

> conda create -n myenv
> conda activate myenv
> pip list
# 전역에 설치된 패키지가 모두 표시된다.

그로 인해, 현재 가상환경에서 패키지를 설치하지 않아도 전역에 설치된 패키지가 자동으로 실행된다.

또한, conda install로 설치할 수 없는 패키지의 경우, pip install로 설치해야 하는 경우가 발생하는데 이 경우도 가상환경 내에 설치되는 것이 아니라 전역적으로 설치된다.

이렇게 되면 프로젝트별로 패키지를 독립적으로 관리할 수 없기 때문에 버전 문제가 발생할 수 있다.

 

그래서 해결법은?

간단하게 conda install pip를 통해 이 문제를 해결할 수 있다.

> conda install pip
> pip list
Package    Version
---------- -------
pip        23.0.1
setuptools 66.0.0
wheel      0.38.4

가상환경에 pip를 설치하게 되면 가상환경의 pip가 전역으로부터 분리되는 것을 확인할 수 있다.