为什么我的pip安装flask-security继续下载错误的项目代码?

时间:2015-11-25 21:39:06

标签: python flask flask-security

最近,由于升级到Flask-Login 0.3,烧瓶安全性已经破裂。问题在于,方法定义分别是is_active()和is_authenticated()的属性定义,is_active和is_authenticated。此更改正在破坏我的Flask应用程序以进行注册,登录。

在此项目网址Correct Flask-Security code上我需要此版本,因为如果您查看decorators.py文件,之前损坏的is_authenticated()方法已正确更改为is_authenticated。

但是,每当我调用pip install flask-security时,我都会得到一个代码不正确的版本。我的site-packages目录中的版本指定1.7.4应该是正确的版本。那么为什么会这样呢。

我用easy_install flask-security解决了这个问题,但我很困惑,为什么pip install没有用。还有其他人有这个问题吗?

1 个答案:

答案 0 :(得分:0)

我建议使用旧版本的Flask-Login,直到Flask-Security在PyPi上更新它们的版本。在requirements.txt文件中,只需指定旧版本即可。例如,您的requirements.txt可能如下所示:

flask
flask-login==0.2.11
flask-security
flask-wtf

然后你可以用pip install -r requirements.txt安装它,你应该很高兴。

为了进一步解释,即使在1.7.4 the decorator code,这里将user.is_authenticated()视为可调用,而不是现在的布尔值(在Flask-Login 0.3中)并且因为Flask-Security告诉点“请给我最新版本的Flask-Login!” pip攫取0.3并出现问题。

如果您改为查看code in the development branch here,您可以看到它已更正为现在将其视为布尔值,但该开发版本尚未稳定/推送到PyPi。

为了减少将来的问题,你可以看到在开发分支的requirements.txt中,他们现在已经将Flask-Login指定为Flask-Login>=0.3.0,<0.4,这假设Flask-Login的开发人员不是'在通往0.4的小修改期间,他们会做出任何重大改变。