1. 배경
간혹 pip 버전이 낮아서 업그레이드를 해야 할 때가 있음.
2. 커맨드
$ pip install --upgrade pip
3. 에러나 가면?
$ pip install --upgrade pip Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 101] Network is unreachable',)': /simple/pip/ Collecting pip Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB) 100% |████████████████████████████████| 1.3MB 888kB/s Installing collected packages: pip Found existing installation: pip 9.0.3 Uninstalling pip-9.0.3: Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run prefix=options.prefix_path, File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install requirement.uninstall(auto_confirm=True) File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 754, in uninstall paths_to_remove.remove(auto_confirm) File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove renames(path, new_path) File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames shutil.move(old, new) File "/usr/lib64/python2.7/shutil.py", line 317, in move os.unlink(src) OSError: [Errno 13] Permission denied: '/usr/bin/pip' You are using pip version 9.0.3, however version 18.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
해결책 : root 권한으로 실행
4. 부록 - Ubuntu에서 PIP 설치
# apt install pip Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package pip root@ip-172-31-60-135:~# apt install python-pip Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libexpat1-dev libpython-all-dev libpython-dev libpython2.7 libpython2.7-dev python-all python-all-dev python-dev python-pip-whl python-pkg-resources python-setuptools python-wheel python2.7-dev Suggested packages: python-setuptools-doc The following NEW packages will be installed: libexpat1-dev libpython-all-dev libpython-dev libpython2.7 libpython2.7-dev python-all python-all-dev python-dev python-pip python-pip-whl python-pkg-resources python-setuptools python-wheel python2.7-dev 0 upgraded, 14 newly installed, 0 to remove and 45 not upgraded. Need to get 30.9 MB of archives. After this operation, 48.8 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libexpat1-dev amd64 2.1.0-7ubuntu0.16.04.3 [115 kB] Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7 amd64 2.7.12-1ubuntu0~16.04.3 [1,070 kB] Get:3 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-dev amd64 2.7.12-1ubuntu0~16.04.3 [27.8 MB] Get:4 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython-dev amd64 2.7.12-1~16.04 [7,840 B] Get:5 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython-all-dev amd64 2.7.12-1~16.04 [1,006 B] Get:6 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-all amd64 2.7.12-1~16.04 [996 B] Get:7 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-dev amd64 2.7.12-1ubuntu0~16.04.3 [276 kB] Get:8 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-dev amd64 2.7.12-1~16.04 [1,186 B] Get:9 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-all-dev amd64 2.7.12-1~16.04 [1,016 B] Get:10 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip-whl all 8.1.1-2ubuntu0.4 [1,110 kB] Get:11 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip all 8.1.1-2ubuntu0.4 [144 kB] Get:12 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 python-pkg-resources all 20.7.0-1 [108 kB] Get:13 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 python-setuptools all 20.7.0-1 [169 kB] Get:14 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 python-wheel all 0.29.0-1 [48.0 kB] Fetched 30.9 MB in 0s (34.9 MB/s) Selecting previously unselected package libexpat1-dev:amd64. (Reading database ... 125831 files and directories currently installed.) Preparing to unpack .../libexpat1-dev_2.1.0-7ubuntu0.16.04.3_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.3) ... Selecting previously unselected package libpython2.7:amd64. Preparing to unpack .../libpython2.7_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking libpython2.7:amd64 (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package libpython2.7-dev:amd64. Preparing to unpack .../libpython2.7-dev_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package libpython-dev:amd64. Preparing to unpack .../libpython-dev_2.7.12-1~16.04_amd64.deb ... Unpacking libpython-dev:amd64 (2.7.12-1~16.04) ... Selecting previously unselected package libpython-all-dev:amd64. Preparing to unpack .../libpython-all-dev_2.7.12-1~16.04_amd64.deb ... Unpacking libpython-all-dev:amd64 (2.7.12-1~16.04) ... Selecting previously unselected package python-all. Preparing to unpack .../python-all_2.7.12-1~16.04_amd64.deb ... Unpacking python-all (2.7.12-1~16.04) ... Selecting previously unselected package python2.7-dev. Preparing to unpack .../python2.7-dev_2.7.12-1ubuntu0~16.04.3_amd64.deb ... Unpacking python2.7-dev (2.7.12-1ubuntu0~16.04.3) ... Selecting previously unselected package python-dev. Preparing to unpack .../python-dev_2.7.12-1~16.04_amd64.deb ... Unpacking python-dev (2.7.12-1~16.04) ... Selecting previously unselected package python-all-dev. Preparing to unpack .../python-all-dev_2.7.12-1~16.04_amd64.deb ... Unpacking python-all-dev (2.7.12-1~16.04) ... Selecting previously unselected package python-pip-whl. Preparing to unpack .../python-pip-whl_8.1.1-2ubuntu0.4_all.deb ... Unpacking python-pip-whl (8.1.1-2ubuntu0.4) ... Selecting previously unselected package python-pip. Preparing to unpack .../python-pip_8.1.1-2ubuntu0.4_all.deb ... Unpacking python-pip (8.1.1-2ubuntu0.4) ... Selecting previously unselected package python-pkg-resources. Preparing to unpack .../python-pkg-resources_20.7.0-1_all.deb ... Unpacking python-pkg-resources (20.7.0-1) ... Selecting previously unselected package python-setuptools. Preparing to unpack .../python-setuptools_20.7.0-1_all.deb ... Unpacking python-setuptools (20.7.0-1) ... Selecting previously unselected package python-wheel. Preparing to unpack .../python-wheel_0.29.0-1_all.deb ... Unpacking python-wheel (0.29.0-1) ... Processing triggers for libc-bin (2.23-0ubuntu10) ... Processing triggers for man-db (2.7.5-1) ... Setting up libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.3) ... Setting up libpython2.7:amd64 (2.7.12-1ubuntu0~16.04.3) ... Setting up libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.3) ... Setting up libpython-dev:amd64 (2.7.12-1~16.04) ... Setting up libpython-all-dev:amd64 (2.7.12-1~16.04) ... Setting up python-all (2.7.12-1~16.04) ... Setting up python2.7-dev (2.7.12-1ubuntu0~16.04.3) ... Setting up python-dev (2.7.12-1~16.04) ... Setting up python-all-dev (2.7.12-1~16.04) ... Setting up python-pip-whl (8.1.1-2ubuntu0.4) ... Setting up python-pip (8.1.1-2ubuntu0.4) ... Setting up python-pkg-resources (20.7.0-1) ... Setting up python-setuptools (20.7.0-1) ... Setting up python-wheel (0.29.0-1) ... Processing triggers for libc-bin (2.23-0ubuntu10) ...
그런데 자세히 보면 Python 2.x로 되고 있다. Python 3.x로 하려면 python3-pip로 설치함.
# apt install python33-pip Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python33-pip root@ip-172-31-60-135:~# ^C root@ip-172-31-60-135:~# apt install python3-pip Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libpython3-dev libpython3.5-dev python3-dev python3-setuptools python3-wheel python3.5-dev Suggested packages: python-setuptools-doc The following NEW packages will be installed: libpython3-dev libpython3.5-dev python3-dev python3-pip python3-setuptools python3-wheel python3.5-dev 0 upgraded, 7 newly installed, 0 to remove and 45 not upgraded. Need to get 38.0 MB of archives. After this operation, 55.2 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython3.5-dev amd64 3.5.2-2ubuntu0~16.04.4 [37.3 MB] Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libpython3-dev amd64 3.5.1-3 [6,926 B] Get:3 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3.5-dev amd64 3.5.2-2ubuntu0~16.04.4 [413 kB] Get:4 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 python3-dev amd64 3.5.1-3 [1,186 B] Get:5 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python3-pip all 8.1.1-2ubuntu0.4 [109 kB] Get:6 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 python3-setuptools all 20.7.0-1 [88.0 kB] Get:7 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 python3-wheel all 0.29.0-1 [48.1 kB] Fetched 38.0 MB in 1s (29.8 MB/s) Selecting previously unselected package libpython3.5-dev:amd64. (Reading database ... 126276 files and directories currently installed.) Preparing to unpack .../libpython3.5-dev_3.5.2-2ubuntu0~16.04.4_amd64.deb ... Unpacking libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.4) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../libpython3-dev_3.5.1-3_amd64.deb ... Unpacking libpython3-dev:amd64 (3.5.1-3) ... Selecting previously unselected package python3.5-dev. Preparing to unpack .../python3.5-dev_3.5.2-2ubuntu0~16.04.4_amd64.deb ... Unpacking python3.5-dev (3.5.2-2ubuntu0~16.04.4) ... Selecting previously unselected package python3-dev. Preparing to unpack .../python3-dev_3.5.1-3_amd64.deb ... Unpacking python3-dev (3.5.1-3) ... Selecting previously unselected package python3-pip. Preparing to unpack .../python3-pip_8.1.1-2ubuntu0.4_all.deb ... Unpacking python3-pip (8.1.1-2ubuntu0.4) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../python3-setuptools_20.7.0-1_all.deb ... Unpacking python3-setuptools (20.7.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../python3-wheel_0.29.0-1_all.deb ... Unpacking python3-wheel (0.29.0-1) ... Processing triggers for man-db (2.7.5-1) ... Setting up libpython3.5-dev:amd64 (3.5.2-2ubuntu0~16.04.4) ... Setting up libpython3-dev:amd64 (3.5.1-3) ... Setting up python3.5-dev (3.5.2-2ubuntu0~16.04.4) ... Setting up python3-dev (3.5.1-3) ... Setting up python3-pip (8.1.1-2ubuntu0.4) ... Setting up python3-setuptools (20.7.0-1) ... Setting up python3-wheel (0.29.0-1) ...