Python venv (가상환경) 구성
반응형

Python 은  pip 를 통해 손쉽게 모듈 설치를 할 수 있다. 하지만 다른 사람과 같이 버전을 맞춰야 하거나 현재 로컬에 설치된 파일과 독립적으로 모듈을 사용하는 별도 프로젝트를 구성해야 하는 경우가 있다. Python 3.X부터는 venv가 포함되어 손쉽게 이용할 수 있다. (2.X  는 지원하지 않는다.)

 

Windows 

# 가상 환경 생성. 혹시 모르니 python3 로 명령어를 입력한다.
C:\Users\anony> python3 -m venv win_temp


# 기본 모듈을 모두 적재해야 해서 시간이 조금 걸린다.


# 아래 명령어를 사용하여 가상 환경을 activation 한다.
# 직접 Sctipts로 들어가 bat 파일을 실행해도 된다.
C:\Users\anony> .\win_temp\Scripts\activate.bat


# 왼쪽에 가상 환경 프로젝트명이 표시된다. 이 상태에서 pip로 모듈을 설치해 보면 가상 환경 안에 설치된다.
(win_temp) C:\Users\anony> cd win_temp
(win_temp) C:\Users\anony\win_temp> pip install urllib3


# pip 설치 시 이상한 문구가 나온다면 게시물 맨 밑을 참고한다.


# 설치 위치는 lib\site-packages에 설치된다.
(win_temp) C:\Users\anony\win_temp>dir .\Lib\site-packages
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: D016-F874

 C:\Users\anony\win_temp\Lib\site-packages 디렉터리

2021-10-19  오후 02:13    <DIR>          .
2021-10-19  오후 02:13    <DIR>          ..
2021-10-19  오후 01:58               152 distutils-precedence.pth
2021-10-19  오후 02:12    <DIR>          pip
2021-10-19  오후 02:12    <DIR>          pip-21.3.dist-info
2021-10-19  오후 01:58    <DIR>          pkg_resources
2021-10-19  오후 01:58    <DIR>          setuptools
2021-10-19  오후 01:59    <DIR>          setuptools-57.4.0.dist-info
2021-10-19  오후 02:13    <DIR>          urllib3
2021-10-19  오후 02:13    <DIR>          urllib3-1.26.7.dist-info
2021-10-19  오후 01:58    <DIR>          _distutils_hack
               2개 파일                 938 바이트
              10개 디렉터리  185,402,163,200 바이트 남음
              
# deactivation 할 때는 (가상환경 빠져 나올 때는) 아래를 입력한다.
(win_temp)C:\Users\anony\win_temp> .\Scripts\deactivate.bat

 

Mac

# 가상 환경 생성. 혹시 모르니 python3 로 명령어를 입력한다.
$ python3 -m venv mac_temp


# 기본 모듈을 모두 적재해야 해서 시간이 조금 걸린다.


# 아래 명령어를 사용하여 가상 환경을 activation 한다.
$ source ./mac_temp/bin/activate


# 왼쪽에 가상 환경 프로젝트명이 표시된다. 이 상태에서 pip로 모듈을 설치해 보면 가상 환경 안에 설치된다.
(mac_temp) cd mac_temp
(mac_temp) pip install urllib3


# pip 설치 시 이상한 문구가 나온다면 게시물 맨 밑을 참고한다.


# 설치 위치는 /lib/python3.8/site-packages 에 설치된다. (버전은 달라질 수 있다.)
(mac_temp) $ ls -al ./lib/python3.8/site-packages
total 8
drwxr-xr-x  10 anony  staff   320 Oct 19 14:23 .
drwxr-xr-x   3 anony  staff    96 Oct 19 14:21 ..
-rw-r--r--   1 anony  staff   126 Oct 19 14:21 easy_install.py
drwxr-xr-x   6 anony  staff   192 Oct 19 14:21 pip
drwxr-xr-x  10 anony  staff   320 Oct 19 14:21 pip-20.2.3.dist-info
drwxr-xr-x   5 anony  staff   160 Oct 19 14:21 pkg_resources
drwxr-xr-x  44 anony  staff  1408 Oct 19 14:21 setuptools
drwxr-xr-x  12 anony  staff   384 Oct 19 14:21 setuptools-49.2.1.dist-info
drwxr-xr-x  16 anony  staff   512 Oct 19 14:23 urllib3
drwxr-xr-x   9 anony  staff   288 Oct 19 14:23 urllib3-1.26.7.dist-info

              
# deactivation 할 때는 (가상환경 빠져 나올 때는) 아래를 입력한다.
# 아무 곳에서나 입력해도 된다.
(mac_temp) $ deactivate

 

pip 모듈 업그레이드 경고

pip 설치시 모듈 업그레이드 경고가 뜰 수 있으니 아래를 참고한다.

# Windows 의 경우
(win_temp) C:\Users\anony\win_temp>pip install urllib3
Collecting urllib3
  Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Installing collected packages: urllib3
Successfully installed urllib3-1.26.7
WARNING: You are using pip version 21.2.3; however, version 21.3 is available.
You should consider upgrading via the 'C:\Users\anony\win_temp\Scripts\python.exe -m pip install --upgrade pip' command.

# mac의 경우
(mac_temp) $ pip install urllib3
Collecting urllib3
  Downloading urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
     |████████████████████████████████| 138 kB 4.0 MB/s 
Installing collected packages: urllib3
Successfully installed urllib3-1.26.7
WARNING: You are using pip version 20.2.3; however, version 21.3 is available.
You should consider upgrading via the '/Users/anony/mac_temp/bin/python3 -m pip install --upgrade pip' command.

두 환경 모두 메시지에 나타난 '경로'/python -m pip install --upgrade pip 명령어를 입력해 업데이트 한다.

꼭 가상환경에서 수행해야 한다.

반응형