在 Ubuntu 16.04 中执行以下操作:
pip install --upgrade pip
你得到:
Collecting pip
Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
不错。现在尝试
pip install --upgrade pip
你会得到:
Collecting pip
Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
那么,如何真正获取 pip 8.1.2?
答案1
除非您实际正在处理 ubuntu 代码并且有特定原因,否则更新系统 python 不是一个好主意。使用 pip 进行更新而不是使用 APT 存储库中的 python 库,您可以打破许多系统依赖关系。
如果您正在开发 python 应用程序并且需要更改库的版本,那么您应该使用 pip 的 --user 选项或创建一个虚拟环境来存储用户版本的库。
如果这两种方法没有自己的副本,它们都会优雅地恢复使用系统库,virtualenv 在如何控制该反馈方面有更多关于如何控制的选项。
pip --user
这很简单,只需在所有 pip 命令末尾添加 --user 即可,这会将您的 python 库放在 ~/.local/lib/pythonX.X 中(其中 XX 是您的 python 版本号),首先会在这里查找它们,如果您必须通过 sudo 运行,请小心对 root 执行此操作,因为它可能会影响系统 python。
虚拟环境
其工作方式与上述类似,但与特定用户的联系较少,因此没有 sudo 限制,您还可以克隆一个虚拟环境并将其升级以测试更改,从而允许您在出现问题时恢复。 http://docs.python-guide.org/en/latest/dev/virtualenvs/
答案2
这似乎是安装pip
8.1.2 的 .whl 文件时出现的问题。安装 8.1.2 的解决方法pip
是直接从 PyPi 下载源代码并通过 进行安装setup.py
。
以下对我有用:
wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
sudo python setup.py install
这当然不是通过安装pip 8.1.2的解决方案pip install --upgrade
,但应该可以消除警告,直到该问题已解决。
答案3
sudo -H python -m pip install --upgrade pip
会解决您的问题。正如上面有人提到的那样,尽管系统特定需要 Python 2.7 才能完成某些操作...话虽如此,您可以升级 pip 而不会对其产生负面影响,但如果您愿意,也可以同时安装 3.5。
这是请求安全策略将 HOME 环境变量设置为目标用户密码数据库条目指定的主目录的-H
标志。根据策略,这可能是默认行为。sudo
答案4
使用 apt-get 卸载 pip,然后使用 easy_install 安装。对我来说很管用。
sudo apt-get remove python-pip
sudo easy_install pip