Python 가상 환경 사용법

Jeongkuk Seo
sjk5766
Published in
3 min readJan 26, 2019

동일 OS에서 python의 여러 버전을 설치해서 사용할 수 있습니다. 만약 OS 디폴트 버전으로 python2가 설치되어 있고 python3을 같이 사용하기 위해 추가적으로 설치를 했다면 각 버전을 실행 하기 위해 다음과 같이 입력해야 합니다.

python -V  // OS 버전의 python 2 바이너리 실행
python3 -V // 추가로 설치한 python3 바이너리 실행

위와 같이 구성할 수 있도록 정리한 글은 아래 링크를 참고하시면 됩니다.

헌데.. 저는 python3 을 입력하는 것도 귀찮습니다. 그냥 python 을 입력했을 때 특정 디렉토리에서 자동으로 python3을 잡아주면 안될까요? 네 됩니다. 이제 그 방법에 대해 정리하겠습니다.

python의 virtualenv를 통해 가상환경을 만들 수 있습니다. 특정 디렉토리를 가상환경으로 만들어 python3을 바라보게 할 경우 python 명령을 실행하면 알아서 python3 으로 구동됩니다. python3을 설치했다는 가정하에 다음과 같이 명령을 입력합니다.

python3 -m venv test

명령을 입력하면 test 디렉토리가 생성됩니다. tree 명령어로 구조를 살펴보겠습니다.

[root@localhost test]# tree
.
└── test
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── python -> python3
│ └── python3 -> /usr/local/bin/python3
├── include
├── lib
│ └── python3.7
│ └── site-packages
├── lib64 -> lib
└── pyvenv.cfg

ssh에서 가상 환경을 실행하려면 아래와 같이 . 명령어로 activate 스크립트를 실행합니다.

[root@localhost test]# . test/bin/activate
(test) [root@localhost test]#

가상 환경에 들어오니 쉘 앞에 (test) 라는 가상환경 디렉토리 이름이 출력됩니다. 이상태에서 version 정보와 which 명령어를 입력하겠습니다.

(test) [root@localhost test]# python -V
Python 3.7.2
(test) [root@localhost test]# which python
/home/test/test/bin/python

가상환경에서 python 바이너리를 python3 을 바라보고 있기 때문에 이제 해당 디렉토리에서는 문제없이 python을 실행할 수 있습니다.

--

--