본문 바로가기

Dev/[python]

[python] Linux Ubuntu 에서 Python 가상환경 생성. 활성화/비활성화

반응형

 

INTRO


 

ubuntu OS에서 Python프로젝트를 실행시킬 때,

가상환경을 설치하고 사용하는 방법에 대해 포스팅한다.

 

 


 

 

 

1. 가상환경이란?

◆ 이전에 포스팅한 python flask 실습 글에서 한번 언급한 적이 있었다.

◆ 해당 포스팅에선 Windows환경에서 venv 라이브러리를 이용하여 가상환경을 세팅하는 방법에 대해 설명.

 

https://rangsub.tistory.com/115?category=999693 

 

[Getting started Flask] 플라스크 시작해보기 - 1

INTRO 플라스크(Flask)로 간단한 서버를 만들어볼것이다. 1. 플라스크(flask)란? --> 파이썬 기반의 "Micro Web Framwork" --> micro web framwork 라는 말이 생소할 수도 있다. --> node.js, django와 같이 백..

rangsub.tistory.com

 

◆ 가상환경이란 설치된 파이썬의 버전은 그대로 유지하면서, 독립된 공간을 만들어주는 개념.

◆ 다수의 프로젝트를 진행할 때, 라이브러리가 충돌할 수 있고, 복잡해지기 때문에(종속성이 생김)

◆ 이를 해결하고자 사용함

◆ 가상환경에서 pip등을 이용하여 패키지를 설치할 경우

◆ 가상환경폴더 내 Lib/site-packages 에 저장된다.

◆ 따라서 각 가상환경들끼리 독립적인 라이브러리를 꾸릴 수 있다.

 


 

 

 

 

 

2. 파이썬 설치

◆ python3 -V 명령어를 통해 파이썬이 설치되어 있는지 확인한다. (우분투에는 기본적으로 파이썬 설치되어 있음)

python3 -V

◆ 여기서 python -V라고 입력할 경우, 버전 2.xx대의 파이썬 버전을 확인할 수 있다.

◆ 2버전과 3버전 이 둘 다 설치되어 있기 때문이다.

 

 

◆ 혹여나 설치가 되어 있지 않다면, 아래 명령어를 통해 설치한다.

sudo apt-get update
sudo apt-get python3

 

◆ 추가적으로 알게 된 것.

python 3.xx버전을 사용하기 위해선 아래와 같이 python3, pip3 명령어를 사용해야 한다.

python3 -V(or python3 --version)
python3 hello.py

pip3 install flask

이를 python hello.py와 같이 사용하기 위해선 아래와 같이 alias 설정을 해줘야 함

alias python=python3
alias pip=pip3

 

이는 bash 종료 시 다시 설정해줘야 하므로,

부팅시마다 alias를 적용하기 위해 .bash_profile 파일 안에 적어주는 방법도 있다고 한다.

 


 

 

 

3. 가상환경 생성

◆ python 2. 버전에서는 virtualenv라는 패키지를 별도로 설치하여 가상환경을 구성하였다.

◆ python 3. 버전에서는 venv라는 가상환경 구성 패키지가 내장되어 있으므로, 별도의 패키지 설치가 필요하지 않음.

◆ 아래의 명령어로 가상환경을 만든다.

python -m venv venv

◆ 맨 마지막 venv가 적혀있는 부분은 가상환경의 이름을 적어주는 곳. 별도의 이름을 적어도 된다.


 

 

 

4. 가상환경 활성화 / 비활성화

◆ 가상환경 폴더를 생성한 디렉토리에서 아래 명령어를 통해 생성한 가상환경을 활성화 시킬 수 있다.

source venv/bin/activate

 

◆ 활성화 이후, 명령어 입력 줄 맨 앞에 아래와 같이 (가상환경명)이 붙은 것을 볼 수 있다.

 

◆ 반대로, 아래 명령어를 통해 가상환경을 비활성화 시킬 수 있다. 

deactivate

 


 

마무리

linux ubuntu 환경에서 파이썬 가상환경을 만들어 보았다.

환경 구축 이후 필요한 패키지들을 pip명령어를 통해 설치하면 된다.

 

 

 

 

 

 

 

-퍼가실 때는 출처를 꼭 같이 적어서 올려주세요!

 

반응형