본문 바로가기
Programming/python

[python] 가상환경(virtual environments) 에서 개발하기

by didi0di 2022. 5. 31.
728x90

개발을 하다보면, 서로 다른 버전의 라이브러리들로 개발환경을 구축할 때가 있다.

 

그런데 라이브러리 간 종속성 문제로 버전이 안맞아서 충돌이 일어나거나

다른 버전으로 테스트 해보고 싶을때마다 매번 삭제하고 다시 설치하기 번거롭다.

이럴때 가상환경을 생성해서 작업을 하면 편하다.  가상환경을 사용하면 독립된 작업공간에서 개발을 할 수 있기 때문이다.

 

 

python으로 가상환경을 만드는 방법으로 보통 conda와 venv 를 많이 사용한다.

하나씩 알아보자.

 

 

1) conda

 

conda로 가상환경을 만들려면 우선 anaconda 가 설치되어 있어야 한다.

anaconda 설치는 아래 페이지를 통해 할 수 있다. 

본인 os에 맞는 설치파일을 다운받아서 깔면 된다.

 

https://www.anaconda.com/products/distribution

 

Anaconda | Anaconda Distribution

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

anaconda를 설치했으면 이제 conda prompt에서 test 라는 이름으로 가상환경을 생성해보자.

 

  • 가상환경 생성
$ conda create -n test(가상환경 이름)

 

- 가상환경 생성 시 패키지를 같이 깔아도 된다. 

예를 들어 python 3.8으로 가상환경을 구축하고 싶은 경우

$ conda create -n test python==3.8.0

처럼 뒤에 라이브러리명(+필요한 경우 버전)을 같이 입력해주면 된다. 

여러 개를 입력해도 한번에 다 깔린다.

$ conda create -n test python==3.8.0 pandas numpy sklearn keras

가상환경이 잘 생성되었는지를 보려면 다음 명령어로 확인해보면 된다. 

$ conda env list

생성된 가상환경이 리스트에 뜬다면 정상적으로 생성된 것이다. 

 

  • 가상환경 활성화
$ conda activate test(가상환경 이름)

 

  • 가상환경 비활성화
$ conda deactivate
  • 가상환경 삭제

가상 환경을 제거하고 싶으면 아나콘다 터미널에서 (base)환경을 확인하고 다음을 입력한 후 실행하면 된다.

$ conda remove -n test(가상환경 이름) --all

 

2) venv

venv는 파이썬 3.3부터는 내장 라이브러리라서 파이썬이 있다면 별도로 패키지 설치를 하지 않아도 된다.

test라는 이름으로 가상환경을 생성해보자.

 

  • 가상환경 생성
$ python -m venv test
  • 가상환경 활성화 

가상환경을 생성했으면, 가상환경 이름으로 디렉토리가 생성 되었을 것이다.

생성한 디렉토리로 이동해서 가상환경 활성화를 시킬 수 있다.

$ cd test
$ . bin/activate

 

. 명령어가 안먹으면 source 명령어를 사용해도 된다.

$ source bin/activate

이렇게 가상환경을 활성화 하면 쉘 프롬프트 앞에 (가상환경명) 이라고 붙는다.

이제 생성한 가상환경에 패키지를 깔아보자.

가상환경을 활성화 했으면 일반적으로 파이썬 패키지 깔듯이 pip install 로 설치하면 된다.

(test) $ pip install pandas

 

  • 가상환경 내 설치된 패키지 확인

가상환경 내 설치된 패키지를 확인하고 싶으면 똑같이 pip list로 확인하면 된다.

(test) $ pip list

 

  • 가상환경 삭제

가상 환경을 빠져나올 떄는 터밀널에 deactivate만 입력해주면 된다.

가상 환경이 비활성화 되면 다시 원래대로 운영체제의 기본 파이썬 인터프리터를 사용하게 된다.

 

(test) $ deactivate

 

 

 

이렇게 conda 와 venv로 파이썬 가상환경 생성하는 법을 알아보았다.

가상환경을 쓰면 좋다!!

728x90

댓글