0

最近,由于升级到 Flask-Login 0.3,flask-security 一直在中断。问题在于从方法定义到 is_active() 和 is_authenticated() 的属性定义分别到 is_active 和 is_authenticated。此更改正在破坏我的 Flask 应用程序进行注册、登录。

在这个项目 url 上正确的 Flask-Security 代码我需要这个版本,因为如果你查看decorators.py文件is_authenticated(),之前破坏的方法会正确地更改为 is_authenticated。

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

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

4

1 回答 1

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中,这里的装饰器代码user.is_authenticated()也被视为可调用的,而不是像现在这样的布尔值(在 Flask-Login 0.3 中),并且因为 Flask-Security 告诉 pip “给我获取最新版本的Flask-请登录!” pip 抓取 0.3 并出现问题。

如果您改为查看此处开发分支中的代码,您会发现它已被更正为现在将其视为布尔值,但该开发版本还不稳定/尚未推送到 PyPi。

为了减少将来的问题,您可以看到在开发分支中,requirements.txt他们现在指定了 Flask-Login,Flask-Login>=0.3.0,<0.4这假设 Flask-Login 的开发人员不会在对0.4的方式。

于 2015-11-25T21:42:15.400 回答