我已经安装了Ubuntu提供的pip,如何安装最新版本的pip?

我已经安装了Ubuntu提供的pip,如何安装最新版本的pip?

在 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

这似乎是安装pip8.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

相关内容