0%

python virtualenv란?, python 가상환경, 윈도우 virtualenv 사용법, virtualenv설치, virtualenv 가상환경 삭제, virtualenv python 버전 변경, python3 virtualenv, python virtualenv 명령어, venv와 virtualenv의 차이

python

python 가상환경

python 가상환경이란, 독립적인 파이썬 실행 환경을 의미하며 프로젝트 별로 패키지를 관리하기 위하여 사용합니다.
Python 및 Library의 버전이 업그레이드 되더라도 과거 project에 영향을 주지 않기 위해 사용합니다.

python virtualenv란?

virtualenv는 파이썬에서 사용하는 가상 환경을 만드는 도구입니다.
이를 통해 각각의 프로젝트마다 독립된 환경을 제공받을 수 있습니다.
예를 들어, 한 프로젝트에서는 파이썬 2.7 버전을 사용하고 다른 프로젝트에서는 파이썬 3.8 버전을 사용해야 한다면,
이 둘 사이에서 버전을 매번 바꾸는 것은 매우 번거로울 것입니다.
이럴 때 virtualenv를 사용하면, 각각의 프로젝트에 필요한 파이썬 버전과 패키지를 독립적으로 관리할 수 있습니다.

가상환경을 사용했을때와 사용하지 않았을 때, 라이브러리 사용은 아래와 같이 표현될 수 있습니다.

virtualenv안 썼을 때 : 모든 프로젝트의 패키지 version이 동일하게 됨.

virtualenv

@startuml package "no virutalenv"{ object projectA{ python v3.8.8 pandas v1.4.0 pytorch v2.2.0 }
object projectB{
    python v3.8.8
    pandas v1.4.0
    pytorch v2.2.0
}

}

footer devscb.com
@enduml

virtualenv 썼을 때 : 파이썬 버전을 포함한, 프로젝트 별로 패키지 version 을 다르게 설정가능.

virtualenv

@startuml package "use virutalenv"{ object projectA{ python v3.8.8 pandas v1.4.0 pytorch v2.2.0 }
object projectB{
    python v3.10.0
    pandas v1.5.0
    pytorch v2.1.0
}

}

footer devscb.com
@enduml

윈도우 virtualenv 사용법

윈도에서 virtualenv 사용하기 위해서는 아래와 같은 순서로 진행하면 됩니다.

  1. 원하는 python 버전 설치 : 아래 python 공식홈페이지에서 사용할 버전에 대해 인스톨합니다.
    https://www.python.org/downloads/
    인스톨시, 기존에 설치된 버전과 꼬일 수 있는 부분이 있으니, 설치시 아래 옵션을 체크해제하도록 합니다.
    python
  2. virtualenv 설치
    아래 명령어를 통해 virtualenv를 설치해줍니다.
    1
    python -m pip install virtualenv
  3. 가상환경 생성
    환경을 만들고자 하는 경로로 이동하여 아래 명령어를 수행해줍니다.
    1
    2
    virtualenv -p [가상환경 만들려는 버전의 파이썬이설치된 경로] [가상환경 이름]
    ex) virtualenv -p "C:\program files\python3.8.8\python.exe" py3.8.8-env
    python

RuntimeError: failed to query C:\Python38 with code 13 err: ‘Access is denied’ 같은 문제가 발생할경우,
python.exe까지 경로에 잘 입력했는지 확인해주세요.

  1. 가상환경 확인
    잠시후, 아래와 같이 폴더가 생긴것을 확인할 수 있습니다.
    python

  2. 가상환경으로 전환
    이제 폴더 안으로 들어가, 아래와 같이 Scripts 폴더에서 activate 명령어를 입력해주면,
    커맨드창 좌측에 가상환경 이름이 뜨는 모습을 확인할 수 있습니다.

python

1
2
Linux/Mac OS 의 경우 source env/bin/activate 명령어 사용
Windows 의 경우 ./Scripts/activate 명령어 사용

이 상태에서 python 명령어를 입력하면 내가 사용할 버전의 파이썬인지 확인할 수 있습니다.

virtualenv python 버전 변경

python 버전 변경을 원한다면 아래와 같이 우선 deactivate를 하면 가상환경을 빠져나옵니다.
python

그 다음, 앞서한것과 마찬가지로 가상환경을 만들고, 해당 환경에서 activate 를 하면 됩니다.

virtualenv 가상환경 삭제

virtualenv 가상환경 삭제는 단순히 가상환경 폴더를 삭제하면 됩니다.

venv와 virtualenv의 차이

python에서 가상환경을 만들기 위해서 파이썬에서는 venv와 virtualenv가 있습니다.
venv의 경우, python 3.3부터 기본으로 포함되어 별도의 설치과정이 필요없다는게 장점입니다.
하지만, venv는 virtualenv의 경량화된 모듈이기에, 아래와 같은 단점들이 있습니다.

  1. virtualenv보다 느림
  2. virtualenv보다 확장성이 낮음
  3. 가상환경을 파이썬 버전별로 임의로 만들 수 없음.
  4. pip를 통해서 업그레이드할 수 없음.

*reference : https://virtualenv.pypa.io/en/latest/