파이썬 pip 설치 및 가상환경 virtualenv

2019. 9. 16. 13:34프로그래밍 공부/python

PIP

 pip Python Package Index (PyPI) 저장소로부터 파이썬 패키지를 받아 설치하는 패키지 관리 도구입니다. PyPI (가끔 The Cheeseshop 이라고도 불리는)는 third-party 파이썬 오픈소스 패키지들을 위한 저장소입니다. Ruby에서의 RubyGems 혹은 PHP의 Packagist, Perl의 CPAN 그리고 Node.js의 NPM와 비슷하다고 생각하시면 됩니다. easy_install과 비슷하지만 더많은기능을 가지고있고 virtualenv를 지원합니다.

 

$ pip install SomePackage [...] Successfully installed SomePackage

virtualenv(가상환경)

파이썬을 사용할 때 기본으로 제공되는 라이브러리만 사용되지 않고 많은 기능을 제공하는 라이브러리들을 추가 하여 사용하게 됩니다. 예를 들면 장고1.7프로젝트와 장고1.8프로젝트로 다른프로젝트를 동시에 사용해야할 경우가있습니다.

 

이럴때 사용할 수 있는것이 가상환경(virtualenv) 입니다. 가상환경을 만들고, 그 가상환경에서 라이브러리를 추가하면 추가된 라이브러리는 그 가상환경에서만 사용 되어집니다

 

파이썬 프로그램은 C:\util\Python36-32 폴더에 설치되어 있다고 가정합니다. 각자 자신에 원하는 곳에 설치가 되어 있을 것입니다. 작업의 편의를 위해 파이썬이 설치된 위치와 설치된곳 아래의 Scripts 폴더를 PATH 에 등록합니다.(Windows는 Scripts 폴더이고, Linux 환경

이라면 bin 폴더일 것입니다.)

 

설치 폴더 바로 아래에 python.exe 파일이 있고, Scripts 폴더 아래에는 easy_install.exe  파일과 pip.exe 파일이 있습니다. 앞으로 설치할 virtualenv.exe 파일도 이 폴더 아래에 설치가 됩니다.

 

파이썬 패키지 관리자인 pip.exe 파일을 Python 3.4 버전부터 미리 포함되어 있습니다. 이전 버전을 사용한다면 easy_install 프로그램을 이용해서 pip.exe 를 먼저 설치합니다.

 

C:\>esay_install pip

 

 

여러개의 파이썬 프로젝트를 관리하면서 각 프로젝트마다 사용되는 라이브러리가 충돌을 한다던가 하는 경우에도 가상환경을 사용하여 분리할 수 있습니다.

 

가상 환경 없이 설치한 파이썬 라이브러리는 전역으로 설치됩니다. 이렇게 설치한 라이브러리는 모든 사용자와 모든 프로젝트에서 사용할 수 있습니다.

 

가상환경을 다음과 같이 설치합니다.

 

C:\>pip install virtualenv
  virtualenv "폴더명"

C:\>workspace\python>cd 폴더명\Scripts(bin맥기준)
C:\>workspace\python\폴더명\Scripts>activate

 

그러면 파이썬이 설치된 폴드 아래 Scripts 폴더에 virtualenv.exe 파일이 생겼을 것입니다.

 

이제 가상환경을 만들어 봅니다. 가상환경 파일이 생성될곳을 C:\>workspace\python 으로 하겠습니다. 다음 명령을 실행합니다.


그리고 나서 가상환경 파일을 만들어줍니다.

 

 


참고자료: https://offbyone.tistory.com/74 [쉬고 싶은 개발자]

https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments

 

Installing Packages — Python Packaging User Guide

Installing Packages This section covers the basics of how to install Python packages. It’s important to note that the term “package” in this context is being used as a synonym for a distribution (i.e. a bundle of software to be installed), not to refer to

packaging.python.org