无法升级点子


21

我是Linux和Ubuntu的新手。

我试图升级点子,但遇到了这个...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

知道为什么吗?


2
尝试aptsudo apt-get install python-pip升级pip
heemayl 2015年

hmmm ...说它是最新版本...是因为apt-get和pip从不同来源获取其软件包吗?(即apt-get和pypi之间会有区别吗?)“ python-pip已经是最新版本了。”
斯潘塞·李

这意味着它是最新的……
蒂姆

1
除了运行:pip list --outdated pip返回以下内容:pip(当前:1.5.4最新:7.1.0)找不到满足要求的下载python-apt某些外部托管的文件被忽略(使用--allow-外部python-apt允许)。
Spencer Lee

Answers:


3

编辑:

pip install -U pip

要么

pip install --upgrade pip

-U是的简写--upgrade


旧答案:

apt系统PyPI使用两种不同的机制。

在Ubuntu的存储库中,许多模块python都可以作为软件包使用,但与PyPI(Python软件包索引)相比,它们的数量并不多。为了在升级软件包方面保持一致,您需要考虑最初用于安装软件包的方法。

所以,如果你已经从一个安装包(模块)PyPI使用pip,那么你应该使用pip升级从包装PyPI(包括pip自身)。另一方面,如果您使用apt系统来安装模块(作为软件包),则需要使用它apt来再次升级。

简而言之,运行以下命令以升级python-pip到最新版本:

sudo apt-get install python-pip

4
这不能回答问题。python-pip不会升级pip,它只会安装pip的旧版本,例如pip无法自行升级。
塞林

@Cerin您是否完整阅读了答案?python-pip是(官方)Universe存储库中的软件包,而是easy_install从安装的PyPI。与往常一样,官方存储库不包含用于保持系统稳定(和依赖关系已解决)的最新软件包。
heemayl

6
@ heemayl,OP询问如何升级pip,您有效地告诉他们安装了旧版本的pip。正确的解决方案是卸载python-pip并从PyPI安装。安装python-pip不会升级pip。
塞林

22

尝试使用安装easy_install

easy_install -U pip

1
不确定此答案是否仍然有效?关于Stack Overflow的这篇帖子问“为什么要在easy_install上使用pip?”,其中一个答案指出:“我知道在2015年使用easy_install的唯一好的理由是使用Apple预先安装的Python的特殊情况OS X 10.5-10.8的版本。”
clearkimura

1
专注于问题,问题是“无法升级点子”,我建议通过easy_install进行升级,它可以在2015年12月正常运行,好吗?
NamPNQ

向拒绝投票的人解释一下为什么这个答案较早被拒绝吗?我设法在此帖子下找到了最近的评论,并在引用:“ ByteCommander建议的easy_install -U pip对我有用。– Tampa Jun 1 at 12:23”。easy_install据报道该方法对某些用户有效。
clearkimura

1
这对我有用(与sudo)。以前,sudo apt-get install python-pip是给我的,python-pip is already the newest version (8.1.1-2ubuntu0.4)而9.0.1可用,但无法安装pip install --upgrade pip(这使版本保持在8.1.1不变)。之后easy_install的版本进行了升级。
Kurt Peek

尽管这可行,但这确实用较新的版本替换了系统管理的文件pip。重新安装python-pip软件包将再次替换文件。依赖于存在且正确的软件包版本的其他代码可能会中断(较小的机会,但非零机会),并且easy_install可能会添加额外的文件,这些文件在将来升级python-pip到较新的版本时可能会干扰和破坏事情而不会删除。
马丁·彼得斯

7

我很久以前都遇到过同样的问题,今天就想出了解决方案。通过python-pip安装pip时,您将从不推荐使用的Linux服务器下载。您应该从python服务器下载。要解决此问题,请执行以下操作:

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 

1
感谢您解释问题的根源。我必须自己弄清楚,然后才能向下滚动并查看此答案。
G戈登·沃利三世

这些命令(2-3)错误。
乔尔·马修

@JoelGMathew在apt-get之后只需安装单词即可
nurgasemetey

2

实际上,您可以编辑“ pip”脚本:

从根:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

__requires__用您的最新点子版本替换,例如:

__requires__ = 'pip==7.1.2'

而不是通过“ load_entry_point”调用来编辑行:

load_entry_point(__requires__, 'console_scripts', 'pip')()

和:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

另外,我必须更新我的setuptools软件包,以安装一些软件包。


2

这是由系统软件包提供的pip版本之间的冲突引起的,例如 python-pip提供的pip版本与PyPI通过pip本身。

为了解决这个问题,只需删除python-pipsudo apt-get purge python-pip

如果您已经使用旧版本的pip来安装新版本,则应将更新版本保留在中/usr/local/bin。如果没有,您可以使用以下方法从头开始安装最新版本的Pip:

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7


1

尝试运行sudo -H pip3 install --upgrade pip以升级您的pip3(适用于Python 3)。相反,您也可以sudo -H pip2 install --upgrade pip升级pip(对于Python 2)。


1

在我被切入的远程机器上工作时,我遇到了这个问题。我刚刚安装了python 3,即使我试图同时通过pip和apt-get进行升级,也无法获得pip进行升级。

注销远程服务器,然后重新登录以修复它。


0

如果python-pip使用sudo用户从apt仓库安装-运行sudo -H install --upgrade pip安装,则与安装PIP模块相同。

这是我的控制台在16.04上的输出

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

另请参阅pip的-H标志是什么?/programming/28619686/what-is-the-h-flag-for-pip


0

我只是一个初学者,所以我不确定,但是可能与python 2和3之间的差异有关。我认为成为超级用户不是必需的,但是您可以轻松地使用它pip3而不是pip进行升级pippip3 install --upgrade pip


0

我在将pip 9.0.3升级到18.0版本时遇到了类似的问题。

因此,在升级时会先进行卸载,然后再安装最新版本。但是,我发现您第一次尝试时显示“成功卸载了pip-9.0.3”

在随后的尝试中,我们得到相同的错误。这是因为pip-9.0.3已卸载。与接受的答案一样,我在Windows 10系统中以管理员身份安装了pip,获取了最新版本,然后一切都很好。

希望这可以帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.