개요
Python 설치 시 함께 제공되는 Python 표준 라이브러리는 Python으로 수행할 수 있는 가장 일반적인 작업을 위한 모듈이 포함되어 있습니다. 하지만 이 외에도 세상에는 Python을 이용하여 할 수 있는 다양한 작업이 많이 있습니다. 이들이 모두 표준 라이브러리로 제공되는 것은 아닙니다. 때문에 외부 모듈(패키지)의 활약이 필요합니다.
이번 포스팅에서는 python에서 외부 모듈(패키지)을 설치하는 방법을 확인하겠습니다.
PyPI와 PIP
개발자가 다른사람들에게 유용하다고 생각하는 Python 모듈을 작성하면 PyPI(Python Package Index)라고 하는 Python 모듈 저장소에 모듈을 게시합니다. 이곳을 검색하면 우리가 필요한 모듈을 찾을 수 있습니다. 여기에는 주제, 개발 상태와 같은 다양한 범주로 분류된 수천 개의 모듈이 포함되어 있습니다.
여기에 게시된 모듈은 파이썬의 패키지 인스톨러(Package Installer)인 PIP를 사용하여 손쉽게 설치할 수 있습니다.
구체적인 예시를 위하여 Pillow
패키지(모듈)를 python3 환경에 설치 하겠습니다. Pillow
는 2011년 개발이 중단된 이미지 처리를 라이브러리인 PIL(Python Imaging Library)의 후속 모듈(패키지)입니다. 현재 꾸준히 업데이트가 되고 있으며 기존 PIL이 지원하지 않았던 Python3에서도 사용 가능합니다. Python 내부의 명칭은 PIL
입니다.
Pillow 가 설치되어 있지 않은 환경에서 Pillow 모듈을 import
하려 하면 다음과 같은 오류를 만나게 됩니다.
>>> import PIL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PIL'
모듈 설치
Python3 패키지 인스톨러 pip3
을 이용하여 다음과 같이 설치하도록 합니다.
$ pip3 install pillow
Collecting pillow
Downloading https://files.pythonhosted.org/packages/5f/19/d4c25111d36163698396f93c363114cf1cddbacb24744f6612f25b6aa3d0/Pillow-8.0.1-cp36-cp36m-manylinux1_x86_64.whl (2.2MB)
100% |████████████████████████████████| 2.2MB 554kB/s
Installing collected packages: pillow
Successfully installed pillow-8.0.1
설치가 완료되면 다음과 같이 모듈을 import
합니다. 이번에는 에러 없이 성공적으로 작업이 수행되는 것을 확인할 수 있습니다.
>>> import PIL
하지만 현재 설치된 Python3의 버전에 따라 지원되는 Pillow의 버전이 정해진 경우가 있을 수 있습니다.
이처럼 해당 모듈의 특정 버전을 설치하고자 한다면 다음과 같이 설치하고자 하는 버전을 지정하여 pip3
을 사용할 수 있습니다.
최신 버전을 설치하는 경우
$ pip3 install pillow
특정 버전을 설치하는 경우
$ pip3 install "pillow==6.2.0"
특정값 사이의 버전을 설치하는 경우
$ pip3 install "pillow>=6,<7"
※ 예시는 6보다 크거나 같으면서 7보다 작은 것을 설치
※ 여러 개가 해당하면 그중 가장 최신(큰 값)을 설치
특정 버전과 호환되는(끝자리만 변경되는) 버전을 설치하는 경우
$ pip3 install "pillow~=6.2.1"
※ 예시의 경우 "6.2.1"이상인 "==6.2.*"인 버전을 설치합니다.
PyPI에 접속하여 Pillow를 검색하면
참고로 PIL은 공통적으로 사용되는 모듈이기 때문에 Linux 환경에서는 다음과 같이 apt
패키지를 통해 설치할 수도 있습니다.
$ sudo apt install python3-pil
Reading package lists... Done
Building dependency tree
(...)
Setting up python3-pil:amd64 (5.1.0-1ubuntu0.3) ...
Processing triggers for libc-bin (2.27-3ubuntu1.2) ...
참고
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 초보자를 위한 프로젝트 (나만의 비트코인 가격 알리미) (0) | 2021.01.18 |
---|---|
문자열 내장함수 (String built in functions) (0) | 2020.05.12 |
문자열 서식 다루기 (0) | 2020.05.11 |
문자열 다루기의 기초 (0) | 2020.05.09 |