본 포스트의 내용은 여러 자료를 참고하여 만들어졌습니다.
단, 컨텐츠는 자체 제작하였으니 저작권 관련 사항은 메일로 문의해주세요.
가상환경이란?
가상환경이란, 동일 PC에서 언어나 패키지의 버전이 격리된 개발 환경
이라고 말할 수 있겠다.
하나의 로컬 PC에는 다수 개의 가상환경을 만들 수 있고,
이 가상환경들엔 각각 다른 버전의 언어 혹은 패키지를 설정할 수 있고,
가상환경들끼리는 버전이 섞이지 않는다.
가상환경의 필요성
- 여러 프로젝트를 진행하는데, 각각의 프로젝트에서 요구하는 언어나 패키지의 버전이 다른 경우
- 예를 들어 1번 프로젝트는 3.8 이상의 파이썬을 필요로 하고, 2번 프로젝트는 3.5 이하의 파이썬을 필요로 할 경우
- 이 때에는 각각의 프로젝트에 맞춘 가상환경을 각각 만들어주는 게 필요하다.
- 각 가상환경들은 언어와 패키지의 버전이 연동/혼용되지 않는다. (격리된 환경임)
가상환경 명령어
가상환경 만들기
명령어 | 설명 |
---|---|
conda create -n 가상환경명 python==원하는버전 | 원하는 버전의 파이썬이 설치된 가상환경을 만든다. |
conda activate 가상환경명 | 가상환경명에 해당하는 가상환경을 구동한다. 이후 해당 가상환경 하에서 터미널이 작동한다. |
conda env list | PC에 만들어져있는 가상환경들 리스트를 보여준다. base는 기본 환경이다. |
conda env remove -n 가상환경명 | 가상환경명에 해당하는 가상환경을 삭제한다. |
conda rename -n 기존가상환경명 바꿀가상환경명 | 가상환경의 이름을 변경한다. |
참고
remove로 가상환경을 삭제하면 폴더 내의 파일들만 삭제된다.
하지만 폴더는 남아있으므로, 해당 가상환경을 activate할 수는 있다.
폴더는 남아있어도 별 문제 없으니 신경쓰지 않아도 되지만,
신경쓰인다면 직접 해당 가상환경 경로로 들어가 디렉토리를 삭제하면 된다.
패키지 관련 명령어
명령어 | 설명 |
---|---|
conda list | 현재 가상환경에 설치되어있는 패키지들 리스트를 보여줌 |
conda install 패키지명 | 패키지 설치 (conda 방식) |
conda remove 패키지명 | 패키지 제거 (conda 방식으로 설치된 패키지 대상) |
conda uninstall 패키지명 | 패키지 제거 (conda 방식으로 설치된 패키지 대상) |
pip install 패키지명 | 패키지 설치 (pip 방식) |
pip uninstall 패키지명 | 패키지 제거 (pip 방식으로 설치된 패키지 대상) |
참고 : PIP 와 Conda?
우선, conda list로 설치된 패키지를 출력해보면, conda로 설치되었는지 pip로 설치되었는지 알 수 있다.
패키지 버전 오른쪽에 pypi가 적혀있으면 pip로 설치된 것이며,
아무 것도 없는 경우 conda로 설치된 것이다.
pip와 conda 설치는 패키지를 다운로드 받는 원천 주소가 다르며, 이에 따라 설치되는 패키지 버전이 다를 수 있으므로 주의가 필요하다.
또한 pip 설치는 해당 패키지만 설치되는 데 반해, conda로 설치할 경우 해당 패키지에 필요한 dependence 패키지도 함께 설치하게 된다.
가상환경 추출과 불러오기
명령어 | 설명 |
---|---|
conda env export > 파일명.yml | 해당 가상환경에 설치된 프로그래밍 언어 및 패키지 리스트를 yml 파일로 추출한다. |
conda env create -f 와이엠엘파일명.yml | yml파일에 설정된 가상환경을 불러온다. |
기타 참고
PIP와 Conda Install 의 차이점
- 우선은, 패키지를 관리하는 곳이 다르다. 이에 패키지 버전이 다를 수 있다.
- PIP는 install시 요구한 해당 패키지만 설치가 되지만
- Conda는 install시 관련하여 필요한 패키지(dependences)들도 설치된다.