우분투 18.04 에서 python3 venv 가상환경 설정입니다.
클서버의 가상서버 환경에서 테스트 되었습니다.
# python3 --version
Python 3.6.7
# apt-get update
# apt-get install python3-venv
아래의 명령어는 현재 디렉토리 아래에 venv 가상환경을 구성하는 myenv 를 생성합니다.
# cd ~
# python3 -m venv myenv
생성된 myenv 가상환경의 디렉토리 구조는 아래와 같습니다.
total 32
drwxr-xr-x 6 root root 8 Mar 6 14:08 ./
drwx------ 8 root root 14 Mar 6 14:08 ../
drwxr-xr-x 2 root root 12 Mar 6 14:08 bin/
drwxr-xr-x 2 root root 2 Mar 6 14:08 include/
drwxr-xr-x 3 root root 3 Mar 6 14:08 lib/
lrwxrwxrwx 1 root root 3 Mar 6 14:08 lib64 -> lib/
-rw-r--r-- 1 root root 69 Mar 6 14:08 pyvenv.cfg
drwxr-xr-x 3 root root 3 Mar 6 14:08 share/
myenv 가상환경으로 변경시에는 아래와 같이 합니다.
# source ~/myenv/bin/activate
pip 를 업그레이드 합니다.
# pip install --upgrade pip
테스트로 django 를 myenv 가상환경에 설치해 봅니다.
# pip install django
Collecting django
Downloading https://files.pythonhosted.org/packages/c7/87/fbd666c4f87591ae25b7bb374298e8629816e87193c4099d3608ef11fab9/Django-2.1.7-py3-none-any.whl (7.3MB)
100% |████████████████████████████████| 7.3MB 3.5MB/s
Collecting pytz (from django)
Downloading https://files.pythonhosted.org/packages/61/28/1d3920e4d1d50b19bc5d24398a7cd85cc7b9a75a490570d5a30c57622d34/pytz-2018.9-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 8.0MB/s
Installing collected packages: pytz, django
Successfully installed django-2.1.7 pytz-2018.9
가상환경에 설치된 파일들은 lib 디렉토리 아래에 파이썬 버전별로 저장이 되어 있습니다. 참고삼아
디렉토리 구조를 한번 봐 두는 것도 좋습니다.
# ls -l ~/myenv/lib/python3.6/site-packages/
total 90
drwxr-xr-x 2 root root 9 Mar 6 14:15 Django-2.1.7.dist-info
drwxr-xr-x 2 root root 3 Mar 6 14:08 __pycache__
drwxr-xr-x 19 root root 22 Mar 6 14:15 django
-rw-r--r-- 1 root root 126 Mar 6 14:08 easy_install.py
drwxr-xr-x 5 root root 7 Mar 6 14:14 pip
drwxr-xr-x 2 root root 9 Mar 6 14:14 pip-19.0.3.dist-info
drwxr-xr-x 5 root root 7 Mar 6 14:08 pkg_resources
drwxr-xr-x 2 root root 8 Mar 6 14:08 pkg_resources-0.0.0.dist-info
drwxr-xr-x 4 root root 10 Mar 6 14:15 pytz
drwxr-xr-x 2 root root 11 Mar 6 14:15 pytz-2018.9.dist-info
drwxr-xr-x 6 root root 42 Mar 6 14:08 setuptools
drwxr-xr-x 2 root root 12 Mar 6 14:08 setuptools-39.0.1.dist-info