2014-01-27 192 views
1

我使用的pip 1.5.1直到今天都运行良好。无法用pip安装旧版本

现在,我试图在新的virtualenv中安装requirements.txt,对于很多软件包,它不能再为大多数软件包找到特定的旧版本。

$ pip install django-endless-pagination==1.1 
Downloading/unpacking django-endless-pagination==1.1 
    Could not find a version that satisfies the requirement django-endless-pagination==1.1 (from versions: 2.0) 
    Some externally hosted files were ignored (use --allow-external to allow). 
Cleaning up... 
No distributions matching the version for django-endless-pagination==1.1 

我需要做些什么才能重新使用它?升级我的应用程序以使用所有软件包的所有最新版本是不可能的。

更新: 这在pip 1.4.1中正常工作。这是更新版本的pip,导致它失败。

+1

按照消息的建议尝试'--allow-external'。 –

+0

有关此问题的进一步讨论,请访问:https://github.com/pypa/pip/issues/1423 – LS55321

+0

--allow-external会失败,并显示不同的错误,说明您需要添加--allow-unvalidate,这也会导致失败消息'您必须至少提供一个安装要求' – LS55321

回答

2

在这种情况下,您可以使用相应的zip文件作为输入的URL pip install ::

pip install https://github.com/frankban/django-endless-pagination/archive/v1.1.zip 

当然,不是每个包都会有这样一个URL可用,但大多数人。

我偶尔会用它来安装最新最棒的主人,因为在某些情况下,奶酪店还没有Python 3准备好的软件包。

0

由于PyPI上的版本是2.0,现在pip试图维护维护人员希望您使用给定版本的事实。

4

PIP 1.5 changelog

不向后兼容

PIP将不再刮默认不安全的外部URL,也不会安装外部由 默认托管文件。用户可以选择到使用--allow-external PROJECT--allow-unverified PROJECT

安装外部托管或不安全 文件或网址,以便在这种情况下,下面应该以同样的方式工作,为老PIP:

pip install django-endless-pagination==1.1 \ 
--allow-all-external --allow-unverified django-endless-pagination 

(有no --allow-all-unverified,每个未验证的项目名称必须指定)

在使用requirements.txt的情况下,应该如下指定:

--allow-external django-endless-pagination 
--allow-unverified django-endless-pagination 

django-endless-pagination==1.1 
+0

这仍然失败,并显示消息说要添加 - 允许未验证,并且添加失败 – LS55321

+0

@LeeSemel:已更新,HTH – vartec

+0

因此,需要为每个requirements.txt中的每个包现在?似乎坚果,他们必须列出三次。 – LS55321