헤르메스 LIFE

python 가상작업환경 ( virtualenv ) 구축 본문

Python

python 가상작업환경 ( virtualenv ) 구축

헤르메스의날개 2021. 2. 3. 23:18
728x90

가상환경이 필요한 이유

개발 중 그 개발 환경에서만 사용하는 특정 패키지가 필요할 때 다른 프로젝트에 영향을 미치게 되는 경우가 발생하는데, 가상환경을 이용하면 각 가상환경 간 간섭을 받지 않을 수 있습니다.

virtualenv는 사용자의 시스템에 영향을 미치지 않는 python 가상작업공간을 구축할 수 있게 해줍니다.
가상작업환경을 구축하는 tool은 여러가지가 있지만, virtualenv 가 가장 많이 사용된다고 합니다.

1. 외부라이브러리의 설치
- python의 공식적인 외부 라이브러리 관리프로그램인 pip 를 이용합니다.

PIP를 이용하기 위해서는 당연히 pip 가 설치되어 있어야 하는데, python 설치 시 옵션으로 설치하도록 되어 있습니다.

참조 : hermeslog.tistory.com/478?category=999592

 

[Python] Python 설치

이런걸 포스팅해야 ...?? www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org

hermeslog.tistory.com

2. pip 파일 위치
pip는 %PYTHON_HOME%\Script 폴더에 존재합니다

3. 설치된 외부 라이브러리 목록 확인

C:\Python\Python39\Scripts>pip list
Package Version
---------- -------
pip 20.2.3
setuptools 49.2.1
WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\python\python39\python.exe -m pip install --upgrade pip' command.

4. virtualenv 설치

C:\Python\Python39\Scripts>pip install virtualenv
Collecting virtualenv
Downloading virtualenv-20.4.2-py2.py3-none-any.whl (7.2 MB)
|████████████████████████████████| 7.2 MB 298 kB/s
Collecting appdirs<2,>=1.4.3
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting distlib<1,>=0.3.1
Downloading distlib-0.3.1-py2.py3-none-any.whl (335 kB)
|████████████████████████████████| 335 kB 3.2 MB/s

Collecting filelock<4,>=3.0.0
Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB)
Collecting six<2,>=1.9.0
Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
Installing collected packages: appdirs, distlib, filelock, six, virtualenv
WARNING: The script virtualenv.exe is installed in 'c:\python\python39\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed appdirs-1.4.4 distlib-0.3.1 filelock-3.0.12 six-1.15.0 virtualenv-20.4.2
WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\python\python39\python.exe -m pip install --upgrade pip' command.

5. 설치된 외부 라이브러리 목록 확인

C:\Python\Python39\Scripts>pip list
Package Version
---------- -------
appdirs 1.4.4
distlib 0.3.1
filelock 3.0.12
pip 20.2.3
setuptools 49.2.1
six 1.15.0
virtualenv 20.4.2
WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\python\python39\python.exe -m pip install --upgrade pip' command.

6. 설치된 외부 라이브러리 목록 확인

C:\Python\Python39\Scripts>virtualenv project
created virtual environment CPython3.9.1.final.0-64 in 3623ms
creator CPython3Windows(dest=C:\Python\Python39\Scripts\project, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\hermeswing\AppData\Local\pypa\virtualenv)
added seed packages: pip==21.0.1, setuptools==52.0.0, wheel==0.36.2
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

설치가 완료되면 Scripts 폴더 아래, project 폴더가 생성됩니다.

project 폴더 아래 script 폴더 에 보면

activate.bat : 가상환경 활성화
deactivate.bat: 가상환경 비활성화

activate.bat 를 실행하면 가상환경이 활성화됩니다. 조금전 생성한 project 공간임을 나타내는 '(project)' 라는 단어가 프롬프트 라인에 보여집집니다.
다시 deactivate.bat를 실행하면 가상환경이 비활성화됩니다. 프롬프트라인에 '(project)' 단어가 사라집니다.


pip 업그레이드

C:\Python\Python39\Scripts>c:\python\python39\python.exe -m pip install --upgrade pip
Collecting pip
Downloading pip-21.0.1-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 726 kB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.2.3
Uninstalling pip-20.2.3:
Successfully uninstalled pip-20.2.3
WARNING: The scripts pip.exe, pip3.9.exe and pip3.exe are installed in 'c:\python\python39\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-21.0.1
728x90