파이썬 가상환경은 현재 설치된 파이썬 환경과 다른 독립된 환경을 말합니다. 파이썬을 사용하다보면 여러가지 패키지를 설치해야 하는데요. 이 때 패키지간에 dependency(의존성)가 있는 경우, 패키지 버전이 다르면 에러가 발생합니다. 파이썬 가상환경을 이용하지 않으면 다수의 프로그램이 하나의 파이썬 개발환경을 이용합니다.

 

 

또다른 프로그램을 위해 패키지를 업그레이드하거나 설치하는 경우, 패키지간의 버전이 맞지 않게 될 수 있습니다. 이 경우 다른 프로그램이 동작하지 않게 됩니다. 장고 개발을 할 때도 가상환경을 사용하지 않으면 특정 패키지가 업데이트됨에 따라 관련 소스를 수정해야 문제가  발생합니다.

 

 

파이썬 가상환경을 사용하는 이유는 위에서 설명을 드렸습니다. 결국 독립된 환경에서 파이썬을 이용하기 위해 가상환경을 사용합니다. 그럼 파이썬 가상환경을 만들고 사용하는 방법에 대해서 알아보겠습니다.

 

 

1. 파이썬 가상환경 만들기

1) python venv로 만들기

아래와 같이 입력하면 현재 파이썬이 설치된 위치를 알 수 있습니다. 해당 파이썬이 아닌 별도로 파이썬 가상환경을 구성해보도록 하겠습니다.

- mac: which python
- windows: get-command python

 


파이썬 가상환경을 만들기 위해서 별도의 디렉토리를 생성했습니다. python -m venv v_test라고 입력하면 'v_test'라는 이름의 가상환경이 만들어집니다.

mkdir test
cd test
python -m venv vtest

 


하지만 아래와 같은 에러가 발생했습니다.

Error: Command '['/Users/open/PycharmProjects/ve_test/test/v_test/bin/python', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

 

 

2) virtualenv 이용하기

위의 에러를 해결하기는 쉽지 않습니다. 필자는 파이썬 아나콘다 배포판을 사용하고 있는데, 이 경우에 위와 같은 에러가 발생할 수 있습니다. 내용을 찾아보니 아나콘다에는 virtualenv라는 가상환경을 만들어주는 도구가 있다고 합니다. conda install virtualenv로 설치해 보았습니다.

 

패키지를 설치하기 싫다면 하단의 명령어를 참고하기 바랍니다. virtualenv ENV라고 입력하면 ENV라는 폴더에 가상환경이 만들어집니다.

 

> virtualenv ENV

Using base prefix '/anaconda3'

New python executable in /Users/open/PycharmProjects/ve_test/test/ENV/bin/python

copying /anaconda3/bin/python => /Users/open/PycharmProjects/ve_test/test/ENV/bin/python

Installing setuptools, pip, wheel...done.

 


성공적으로 가상환경이 생성되었습니다. 참고로 윈도우에서도 동일하게 python -m venv vtest라고 하면 가상환경이 만들어집니다.

 

 

3) conda 이용하기

저는 위와 같이 했지만, 아나콘다 배포판에서 패키지 설치없이 가상환경을 만드는 법도 있습니다. 아래와 같이 입력하면 아나콘다에서 가상환경을 만들 수 있습니다.

conda create --name [ENV_NAME]

 

 

2. 파이썬 가상환경 사용법

1) 파이썬 가상환경 들어가기

가상환경 폴더에서 아래 명령어를 입력하면, 파이썬 가상환경에 들어갈 수 있습니다. 파이썬 아나콘다 배포판에서 생성한 가상환경도 동일한 방법으로 들어가 수 있습니다. 아래와 같이 프롬프트앞에 '(문자열)'이 나오면 성공입니다.

 

> source bin/activate

(ENV) >

 


참고로 윈도우에서는 \ENV\Scripts\activate라고 입력해야 됩니다. activate도 성공적으로 실행되었습니다.

 

 

2) 가상환경 패키지 확인하기

성공적으로 가상환경에 진입했는지 확인하기 위해 pip list를 입력해 본 결과, 기존에 설치한 패키지들이 보이지 않아 가상환경이 잘 만들어진 것을 알 수 있었습니다.

 

(ENV) > pip list

Package    Version
---------- -------
pip        18.0   
setuptools 40.2.0
wheel      0.31.1

 

 

3) 파이썬 가상환경 나가기

터미널에서 아래와 같이 입력합니다. 아나콘다 배포판의 경우 conda deactivate라고 입력해는 것이 좋습니다.

 

source deactivate

 

 

오늘은 이렇게 파이썬 가상환경을 만드는 방법에 대해서 알아보았습니다. python~으로 실행시 에러가 발생했고, virtualenv라는 도구를 이용해서 가상환경을 만들었습니다. 아나콘다 배포판을 이용한다면 conda명령어를 이용하는 것도 좋겠습니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기