[Python] virtualenv는 무엇일까?
Python을 사용한 프로젝트를 진행하게 되면, 가상환경을 설치하는 것으로 시작합니다. 이전의 저는 virtualenv
를 다음과 같이 이해했습니다.
동일한 환경에서 프로젝트 작업하기 위해 실행한다.
virtualenv is a CLI tool that needs a Python interpreter to run. If you already have a
Python 3.5+
interpreter the best is to use pipx to install virtualenv into an isolated environment. This has the added benefit that later you’ll be able to upgrade virtualenv without affecting other parts of the system.
virtualenv는 Python 인터프리터를 실행하기 위해 필요한 CLI 도구입니다. 이미 Python 3.5 버전 이상의 인터프리터를 사용하고 있다면, pipx를 사용해 virtualenv를 분리된 환경에 설치하는 것이 가장 좋습니다. 이 것은 후에 시스템의 다른 영역에 영향을 주지 않고 virtualenv를 업그레이드할 수 있는 이점이 있습니다.
virtualenv is a tool to create isolated Python environments. virtualenv creates a folder which contains all the necessary executables to use the packages that a Python project would need.
virtualenv는 분리된 Python 환경을 만드는 도구입니다. virtualenv는 Python 프로젝트에 필요한 패키지를 사용하는 데 필요한 모든 실행 파일이 포함된 폴더를 만듭니다.
정리해보자면, 여러 개의 Python 프로젝트를 진행하다 보면 프로젝트마다 다른 버전의 패키지를 사용할 수 있습니다. 만약, 그 패키지들이 호환되지 않는다면 충돌할 가능성이 있습니다. 그 문제를 해결하고자 가상환경을 설치해 서로 독립된 환경에서 개발할 수 있도록 해줍니다.
가상환경은 독립된 공간을 만들어주는 기능입니다.
가상환경의 설치와 실행은 다음과 같습니다.
pip install virtualenv // Install virtual environment
virtualenv venv // Create virtual environment
가상환경을 만들 때 보통 venv
를 입력하는데, venv
는 전 세계적으로 사용하는 일반적인 규칙입니다.
다음 두 명령어로 가상환경을 활성화, 비활성화할 수 있습니다. 가상환경이 활성화되면 그 안에 원하는 모듈을 설치할 수 있습니다.
source venv/bin/activate // Activate virtual environment
deactivate // Deactivate virtual environment
그러면,virtualenv
를 설치할 때 사용하는 pip
명령어는 무엇일까요?
So, what exactly does
pip
do?pip
is a package manager for Python. That means it’s a tool that allows you to install and manage libraries and dependencies that aren’t distributed as part of the standard library. The name pip was introduced by Ian Bicking in 2008:
I’ve finished renaming pyinstall to its new name: pip. The name pip is [an] acronym and declaration: pip installs packages. (Source)
그래서 pip
는 정확히 무슨 일을 하나요? pip
는 Python의 패키지 매니저입니다. 표준 라이브러리의 일부로 배포되지 않은 라이브러리와 종속성을 설치하고 관리할 수 있는 도구입니다. pip라는 이름은 2008년에 Ian Bicking에 의해 소개되었습니다:
pyinstall을 새로운 이름으로 부르기로 했습니다: pip. pip라는 이름은 두문자어고 다음과 같이 정의합니다: pip installs packages.
pip
는 패키지 매니저이고,virtualenv
는 Python 패키지의 일부라는 것을 알 수 있습니다.