본문 바로가기

파이썬 기초

파이썬 가상 환경 만드는 방법

파이썬(python) 가상 환경 만드는 방법

python virtual environment

파이썬으로 코드 작업을 하다 보면 기본으로 제공되는 라이브러리 또는 패키지(이하 라이브러리) 외에 추가적인 작업을 위해서는 다양한 라이브러리들이 필요하게 됩니다. 이럴 경우 일반적으로 pip 명령을 이용하여 필요한 라이브러리를 추가할 수 있습니다.

 

pip 명령어를 이용하여 설치한 라이브러리들은 파이썬 설치 폴더의 Lib 폴더 내에 site-packages 폴더에 자동으로 저장됩니다. 이 폴더에 저장된 라이브러리는 전역으로 설치되는 것이기 때문에 파이썬을 사용하는 모든 사용자와 프로젝트에서 동시에 사용 가능합니다.

파이썬 설치 폴더 확인 방법은 os.path를 출력하면 확인 가능합니다.

 

파이썬 설치 위치 확인 방법

프로젝트 별로 사용하는 라이브러리의 버전이 다른 경우, 프로젝트를 배포할 때 필요한 라이브러리만 포함하여 배포하고자 할 경우, 프로젝트마다 사용하는 파이썬의 버전이 다른 경우 등 파이썬 실행 파일과 각각의 라이브러리가 상호 호환이 된다면 문제가 될 것이 없겠지만, 만약 호환성이 없다면 각각의 프로젝트를 관리해야 하는 입장에서는 아주 심각한 문제가 됩니다.

이때 잘못하여 라이브러리 또는 파이썬의 버전을 업데이트하게 되면 이전에 잘 동작하던 프로젝트가 동작하지 않는 경험을 한 번쯤을 해보셨을 것입니다.

 

파이썬에서는 이러한 문제를 해결하기 위해서 가상 환경(Virtual Environment)이라는 독립된 공간을 만들고 관리할 수 있는 기능을 제공하고 있습니다. 프로젝트마다 독립된 공간을 가상 환경으로 만들고 프로젝트마다 라이브러리를 따로 설치 및 관리가 가능합니다. 다시 말해, 가상 환경으로 만든 폴더에는 별도의 Lib/site-packages 폴더가 만들어지고 가상 환경 폴더에서 pip 명령으로 라이브러리를 설치하면 이 폴더에 라이브러리가 설치되고 해당 가상 환경에서만 전역으로 사용됩니다.

 

 

간단한 예제로 가상 환경을 만들고 라이브러리를 설치해보겠습니다.

 

원하는 위치에 임의 폴더 하나를 만들어 봅시다.

여기서는 D:에 python_project라고 새 폴더를 하나 만들었습니다.

명령 프롬프트를 실행하여 새롭게 만든 폴더로 이동하여 디렉터리 안에 "myvirtual"이라는 가상 환경을 만들어 봅시다.

python -m venv myvirtual 입력 후 엔터를 치면 가상 환경이 만들어집니다.

 

가상 환경 만들기

 

방금 새로 만들었던 python_project 폴더를 확인해보면 myvirtual이라는 폴더가 생성되고 myvirtual 폴더 내에는 다음과 같이 가상 환경에 필요한 폴더가 생성된 것을 확인할 수 있습니다.

 

가상 환경 생성 폴더

Lib 폴더를 확인해보면 site-packages라는 폴더가 생성되어 있습니다. 가상 환경에서 설치하는 라이브러리는 이 폴더에 설치되고 가상 환경에만 사용 가능합니다. 

 

가상 환경 만들기가 완료되었으면 가상 환경을 활성화하여야 합니다.

Scripts 폴더에 있는 activate 파일을 다음과 같이 실행시키면 됩니다. 가상 환경을 활성화를 종료하고 있다면 명령 프롬프트를 종료하거나 deactivate를 입력하면 됩니다.

 

가상 환경 활성화

 

가상 환경이 활성화되면 다음처럼 가상 환경의 이름이 괄호 안에 나타납니다.

 

가상 환경 이름

 

이 상태에서 필요한 라이브러리를 설치하면 됩니다.

예제로 웹 프로그래밍에 필요한 Django 라는 라이브러리를 설치해보겠습니다.

가상 환경에서 라이브러리를 설치하기 위해서는 반드시 괄호 안에 가상 환경 이름이 있는 상태에서 pip 명령을 입력해야 합니다.

 

가상 환경 모듈 설치

 

가상 환경에만 라이브러리가 설치되었는지 확인해 봅니다.

가상 환경이 활성화된 상태에서 python을 실행 후 import django을 실행하였을 경우 에러가 발생하지 않으면 제대로 설치된 것입니다.

 

가상 환경에서 import 하기

 

다음은 가상 환경 활성화를 종료한 상태에서 동일하게 import django을 실행하여 보겠습니다.

이럴 경우에는 파이썬이 설치된 위치의 Lib 폴더 내에 site-packages 폴더에 django 라이브러리가 설치되어 있지 않기 때문에 ModuleNotFoundError 이 발행합니다.

 

가상 환경 비활성화 상태에서 import 하기

 

django 외에 다른 라이브러리로 실행해 보면 파이썬 가상 환경 만드는 방법을 이해하는데 많은 도움이 될 것입니다.