pip(1.3.1)在删除本地缓存之前不升级包

时间:2013-06-13 14:58:07

标签: python pip

我正在尝试使用以下内容升级PACKAGENAME:

pip install --index http://pypi.MYSITE.com/simple/ --upgrade PACKAGENAME

我经常看到没有从服务器下载文件,而pip表示所有软件包都已成功安装,但是当我检查安装的版本时,它是服务器上的最新版本

但是,如果我delete pip's cache并再次运行上述命令,则 从服务器下载文件并安装最新版本。有没有人遇到过这个问题?

我发现一个解决方法是将--ignore-installed参数传递给pip install,但这会导致pip从服务器下载所有软件包,即使已经安装了最新版本。

2 个答案:

答案 0 :(得分:4)

这是pip 1.3.1中的问题,我在Ubuntu 12.10和Windows中遇到同样的问题,升级到pip 1.4(到目前为止最新)可以解决这个问题

缓存中存在冲突,如果您使用virtualenv升级到1.4,如果您不想更新真实环境,则会看到错误消息。

答案 1 :(得分:0)

  

(...)如果我删除了pip的缓存(...)

在pip 6.0之前,您必须通过--download-cache选项才能使用download cache。当您使用pip 1.3.1并且您没有通过此选项时,缓存中没有任何内容。 我怀疑你观察到的是与pip(错误地)重用构建目录相关的错误。这是在2013年4月23日发布的pip版本1.4中修复的。请参阅我的answer问题为什么pip安装旧版本的软件包?了解更多详情。