블로그

[파이썬] Ubuntu 18.04 파이썬3 venv 환경 설정

OS: Ubuntu 18.04

파이썬 버전: 3.6.9

root 계정으로 실행

# apt-get update
# apt-get install python3 python3-venv python3-pip

개발 계정 생성

# adduser cloudsys

작업 계정을 개발 계정으로 변경

# su - cloudsys

계정 홈 디렉토리 아래 venv 디렉토리에 가상환경 생성

# cd ~
# python3 -m venv venv

venv 디렉토리의 구조는 아래와 같다.

drwxr-xr-x 6 root root  8  1월 14 21:21 ./
drwx------ 6 root root 11  1월 14 21:21 ../
drwxr-xr-x 2 root root 12  1월 14 21:21 bin/
drwxr-xr-x 2 root root  2  1월 14 21:21 include/
drwxr-xr-x 3 root root  3  1월 14 21:21 lib/
lrwxrwxrwx 1 root root  3  1월 14 21:21 lib64 -> lib/
-rw-r--r-- 1 root root 69  1월 14 21:21 pyvenv.cfg
drwxr-xr-x 3 root root  3  1월 14 21:21 share/

생성된 가상환경으로 변경시

# source ~/venv/bin/activate

일단 가상환경으로 변경이 되면 이후부터는 파이썬 설치등의 작업시 가상환경에만 영향을 준다.

pip 를 업그레이드 한다. (~/venv/bin/pip 와 ~/venv/bin/pip3 는 동일)

# pip3 install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1
Successfully installed pip-19.3.1

위와 같이 pip 가 9.0.1 에서 19.3.1 로 업그레이드 되었다.

가상환경에 django 를 설치해 본다.

# pip install django

현재 가상환경의 패키지들은 아래와 같이 lib 아래에 파이썬 버전별로 저장되어 있다.

조금 전에 설치한 django 와 pip 19.3.1 디렉토리도 보인다.

# cd ~/venv/lib/python3.6/site-packages
# ls -la
drwxr-xr-x 17 root root  18  1월 14 21:28 .
drwxr-xr-x  3 root root   3  1월 14 21:21 ..
drwxr-xr-x  2 root root  11  1월 14 21:28 Django-3.0.2.dist-info
drwxr-xr-x  2 root root   3  1월 14 21:21 __pycache__
drwxr-xr-x  3 root root  12  1월 14 21:28 asgiref
drwxr-xr-x  2 root root   8  1월 14 21:28 asgiref-3.2.3.dist-info
drwxr-xr-x 19 root root  22  1월 14 21:28 django
-rw-r--r--  1 root root 126  1월 14 21:21 easy_install.py
drwxr-xr-x  5 root root   7  1월 14 21:27 pip
drwxr-xr-x  2 root root   9  1월 14 21:27 pip-19.3.1.dist-info
drwxr-xr-x  5 root root   7  1월 14 21:21 pkg_resources
drwxr-xr-x  2 root root   8  1월 14 21:21 pkg_resources-0.0.0.dist-info
drwxr-xr-x  4 root root  10  1월 14 21:28 pytz
drwxr-xr-x  2 root root  11  1월 14 21:28 pytz-2019.3.dist-info
drwxr-xr-x  6 root root  42  1월 14 21:21 setuptools
drwxr-xr-x  2 root root  12  1월 14 21:21 setuptools-39.0.1.dist-info
drwxr-xr-x  5 root root  16  1월 14 21:28 sqlparse
drwxr-xr-x  2 root root   9  1월 14 21:28 sqlparse-0.3.0.dist-info