{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# FAQ - pip로 패키지 설치가 되지 않습니다 \n",
"\n",
"* Q: pip로 패키지 설치시, 계속 No module named 'packaging' 에러를 내며 설치가 되지 않습니다\n",
"* A: pip를 업그레이드 하십시오. \"sudo pip3 install -U pip\"\n",
"\n",
"\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# (현상) pip로 패키지 설치 불가\n",
"\n",
"다음과 같은 에러(ImportError)가 발생하면서 지속적으로 pip로 패키지 설치시 에러가 나고 패키지 설치가 되지 않는다.\n",
"\n",
"```bash\n",
"Cleaning up...\n",
"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\n",
"// .. 중략 ..\n",
"File \"/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py\", line 70, in \n",
" import packaging.version\n",
"ImportError: No module named 'packaging'\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 조치1: pip 업그레이드\n",
"\n",
"pip로 다른 패키지들을 설치하기 전에 먼저 다음과 같이 pip 자체를 업그레이드 한다. (기본으로 설치되는 pip의 버전이 낮은 경우가 많다)\n",
"\n",
"```\n",
"$ sudo pip3 install -U pip\n",
"$ sudo pip3 install -U setuptools\n",
"```\n",
"\n",
"# 조치2: pip 업그레이드\n",
"**pip 업그레이드 자체가 실패**하여 이후에 계속 설치 불가 문제가 발생하는 경우, \n",
"\n",
"```bash\n",
"plusjune:~/workspace $ sudo pip3 install -U pip\n",
"Traceback (most recent call last):\n",
" File \"/usr/bin/pip3\", line 5, in \n",
" from pkg_resources import load_entry_point\n",
" File \"/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py\", line 70, in \n",
" import packaging.version\n",
"ImportError: No module named 'packaging'\n",
"```\n",
"\n",
"pip와 setuptools를 아래와 같이 업그레드 한다.\n",
"\n",
"```bash\n",
"$ wget https://bootstrap.pypa.io/get-pip.py\n",
"$ sudo python3 get-pip.py\n",
"$ sudo pip3 install -U setuptools\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 원인과 해결 상세"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"파이썬 기본만 설치된 경우 pip를 먼저 업그레이드 해야 한다. (Python2는 2.7.9 이상, Python3의 경우는 3.4 이상인 경우 해당)\n",
"\n",
"```bash\n",
"$ sudo pip3 --version\n",
"pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)\n",
"\n",
"$ sudo pip3 install -U pip\n",
"Downloading/unpacking pip from https://pypi.python.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl#md5=297dbd16ef53bcef0447d245815f5144\n",
" Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded\n",
"Installing collected packages: pip\n",
" Found existing installation: pip 1.5.4\n",
" Not uninstalling pip at /usr/lib/python3/dist-packages, owned by OS\n",
"Successfully installed pip\n",
"Cleaning up...\n",
"\n",
"$ sudo pip3 --version\n",
"pip 9.0.1 from /usr/local/lib/python3.4/dist-packages (python 3.4)\n",
"```\n",
"\n",
"Python 3.4 배포본의 경우 pip의 버전이 1.5.4 이며, 현재 최신 버전은 9.0.1 이다.
(설치가 whl 파일 설치로 바뀌었고, 별도 빌드 과정들을 거치지 않으므로 설치가 매우 빠르다)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python2\n",
"Python2.x 도 아래와 같이 따로 업그레이드가 가능하다. (Python2 도 함께 설치되어 있는 경우)\n",
"\n",
"```bash\n",
"$ sudo pip2 install -U pip \n",
"$ sudo pip3 install -U setuptools\n",
"```\n",
"\n",
"혹은, pip 자체에 문제가 있어 별도로 설치하고자 하는 경우\n",
"\n",
"```bash\n",
"$ wget https://bootstrap.pypa.io/get-pip.py\n",
"$ sudo python2 get-pip.py\n",
"$ sudo pip2 install -U setuptools\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 참고\n",
"* https://pip.pypa.io/en/stable/installing/\n",
"* https://financedata.github.io/posts/fqa_pip_list_assertion_error.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 2017 https://facebook.com/financedata"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
},
"nikola": {
"category": "faq",
"date": "2017-02-13 08:30:10 UTC+09:00",
"description": "pip로 패키지 설치시 No module named packaging 에러에 대한 처리 방법",
"link": "",
"slug": "faq_pip_packge_fail",
"tags": "faq, pip, list, packaging",
"title": "[FAQ] pip로 패키지 설치가 되지 않습니다",
"type": "text"
}
},
"nbformat": 4,
"nbformat_minor": 2
}