[컴][파이썬] 가상환경 virtualenv 이용하기

python local 로 옮기기 / library 를 local 로 옮기기 / local 에서 programming 하기 / python install package 만들기 / virtualenv 설치 /




virtualenv

이녀석은 python 환경을 local 로 설정할 수 있다. 무슨 이야기냐면, 원래 python 을 설치하게 되면 os 내에서 global 하게 설치된다. (누구나 os 의 어느 곳에서나 사용할 수 있다는 이야기이다.) 그리고 extension 이나 library 등의 설치도 global 하게 설치된다.

그런데 이렇게 되면 문제가 되는 것은 이동성, 이식성(portability) 이 나빠진다. 다시 말하면, 내가 현재 만들어놓은 python program 을 다른 곳에서 사용하려고 하면 관련 module 이나 library 들을 같이 가져가야 사용할 수 있는데, 이런 작업을 위해서 내가 이 프로그램을 위해서 설치해놓은 library 나 module 들이 무엇인지 잘 정리해 놨다가 다른 컴퓨터에 설치할 때 python 을 설치하고 해당 module 을 같이 설치한 후에 내 프로그램을 설치해야 한다.(물론, easy_install 등을 이용한 package 등을 만들 수 있다.)

여하튼 이런 불편함은 내가 프로그램을 만들면서 사용하는 모든 것들을 내 project folder 안에 넣어놓으면 간단히 해결된다. 그럼 이 project directory 만 copy 하는 것으로 나는 손쉽게 내 python program 을 옮길 수 있게 된다.

이런 일을 해주는 녀석이 virtualenv 이다. 간단히 이야기 하면 이녀석은 내가 python program 을 만들면서 추가하는 여러 library 등을 local 로 설치할 수 있도록 해 주는 녀석이다.

보다 간략한 설명은 ref. 1을 참고하자.


virtualenv 설치

c:\Python27\Scripts>pip install virtualenv
Collecting virtualenv
  Downloading virtualenv-12.0.7-py2.py3-none-any.whl (1.8MB)
    100% |################################| 1.8MB 205kB/s
Installing collected packages: virtualenv

Successfully installed virtualenv-12.0.7



python3 에서 pip 와 venv 설치하기

  • sudo apt-get install python3-venv python3-pip
  • python3 -m venv myenv
  • source env

virtualenv venv

project directory 를 만들고(여기선 bogo) 그곳에서 virtualenv venv 를 실행하자.

c:\...\programming\flask\bogo>c:\Python27\Scripts\virtualenv.exe venv
New python executable in venv\Scripts\python.exe
Installing setuptools, pip...done.

그러면 아래 같이 폴더가 생기고 안에 python 이 들어가 있게 된다.

  • c:\...\programming\flask\bogo\venv\

그리고 아래처럼 activate 를 실행하자.

c:\...\programming\flask\bogo>venv\Scripts\activate.bat
(venv) c:\...\programming\flask\bogo>



package 설치

가상환경 bogo\venv 내에도 pip(venv\Scripts\pip.exe) 를 제공한다. 이 녀석을 이용해서 venv 내에 package 들을 설치하면 된다.

가상환경 안에 설치하는 모든 Python package는 해당 프로젝트의 venv 폴더안에 설치되고 이 가상환경 안에서만 사용할 수 있다.[ref.1]

pip freeze > requirements.txt
pip install -r requirements.txt




IntellJ Ultimate, python plugin 에서 virtualenv 설정하는 방법







References

  1. Python in Real World: virtualenv를 사용하자 - 가상 개발환경 구축하기
  2. Installation — Flask Documentation (0.10)
  3. Installing pip/setuptools/wheel with Linux Package Managers — Python Packaging User Guide


댓글 없음:

댓글 쓰기