首页 > 代码库 > Ubuntu14.04上安装pip的方法

Ubuntu14.04上安装pip的方法

在Ubuntu14.04上,通过sudo apt-get install python-pip下载的pip版本有些老,在使用时很可能出现下面的问题

root@ubt:~# pip Traceback (most recent call last):  File "/usr/bin/pip", line 9, in <module>    load_entry_point(pip==1.5.4, console_scripts, pip)()  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point    return get_distribution(dist).load_entry_point(group, name)  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point    return ep.load()  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load    entry = __import__(self.module_name, globals(),globals(), [__name__])  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>    from pip.vcs import git, mercurial, subversion, bazaar  # noqa  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>    from pip.download import path_to_url  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>    from requests.compat import IncompleteReadImportError: cannot import name IncompleteRead

这是因为通过apt-get安装的pip版本太老了,老的pip版本依赖requests.compat.IncompleteRead,而在2.4.0版本的requests中已经移除了

requests.compat.IncompleteRead,解决方法是先卸载pip(命令为sudo apt-get remove python-pip),然后通过下面的方式重新下载安装

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificatesudo python get-pip.py

安装完后,测试一下吧,发现不能识别pip这个命令,额,我也不知道怎么回事,解决办法是在/usr/bin目录下建一个软肋接,指向到/usr/local/bin/pip

njsqrt3@temp-test2:~$ pip-bash: /usr/bin/pip: No such file or directory        # $PATH的值包含/usr/binnjsqrt3@temp-test2:~$ which pip/usr/local/bin/pip                                    # $PATH的值包含/usr/local/binnjsqrt3@temp-test2:~$ njsqrt3@temp-test2:~$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/gamesnjsqrt3@temp-test2:~$

 

Ubuntu14.04上安装pip的方法