[FAQ] pip로 패키지 설치가 되지 않습니다

FAQ - pip로 패키지 설치가 되지 않습니다

  • Q: pip로 패키지 설치시, 계속 No module named 'packaging' 에러를 내며 설치가 되지 않습니다
  • A: pip를 업그레이드 하십시오. "sudo pip3 install -U pip"

(현상) pip로 패키지 설치 불가

다음과 같은 에러(ImportError)가 발생하면서 지속적으로 pip로 패키지 설치시 에러가 나고 패키지 설치가 되지 않는다.

Cleaning up...
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/MarkupSafe/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-551h7vzm-record/install-record.txt --single-version-externally-managed --compile
// .. 중략 ..
File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 70, in <module>
    import packaging.version
ImportError: No module named 'packaging'

조치1: pip 업그레이드

pip로 다른 패키지들을 설치하기 전에 먼저 다음과 같이 pip 자체를 업그레이드 한다. (기본으로 설치되는 pip의 버전이 낮은 경우가 많다)

$ sudo pip3 install -U pip
$ sudo pip3 install -U setuptools

조치2: pip 업그레이드

pip 업그레이드 자체가 실패하여 이후에 계속 설치 불가 문제가 발생하는 경우,

plusjune:~/workspace $ sudo pip3 install -U pip
Traceback (most recent call last):
  File "/usr/bin/pip3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 70, in <module>
    import packaging.version
ImportError: No module named 'packaging'

pip와 setuptools를 아래와 같이 업그레드 한다.

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
$ sudo pip3 install -U setuptools

원인과 해결 상세

파이썬 기본만 설치된 경우 pip를 먼저 업그레이드 해야 한다. (Python2는 2.7.9 이상, Python3의 경우는 3.4 이상인 경우 해당)

$ sudo pip3 --version
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)

$ sudo pip3 install -U pip
Downloading/unpacking pip from https://pypi.python.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl#md5=297dbd16ef53bcef0447d245815f5144
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python3/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

$ sudo pip3 --version
pip 9.0.1 from /usr/local/lib/python3.4/dist-packages (python 3.4)

Python 3.4 배포본의 경우 pip의 버전이 1.5.4 이며, 현재 최신 버전은 9.0.1 이다.
(설치가 whl 파일 설치로 바뀌었고, 별도 빌드 과정들을 거치지 않으므로 설치가 매우 빠르다)

Python2

Python2.x 도 아래와 같이 따로 업그레이드가 가능하다. (Python2 도 함께 설치되어 있는 경우)

$ sudo pip2 install -U pip 
$ sudo pip3 install -U setuptools

혹은, pip 자체에 문제가 있어 별도로 설치하고자 하는 경우

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python2 get-pip.py
$ sudo pip2 install -U setuptools

댓글