我正在尝试为Flask项目使用令牌身份验证。
from flask_httpauth import HTTPBasicAuth # works
from flask_httpauth import HTTPTokenAuth # does not work.
我得到以下错误
ImportError: cannot import name HTTPTokenAuth
我试过
pip install flask_httpauth --upgrade
但它声称一切都是最新的。(烧瓶HTTPAuth==3.1.1)
文档建议这是导入它的正确方式,但由于某种原因,它不起作用。有什么想法可以让令牌授权导入吗?
编辑::我删除并重新创建了正在使用的虚拟环境。
我在任何地方都使用python。
问题仍然存在。我发现Flask_httpauth的旧版本是默认加载的(v2.2.0而不是v3.1.1)。我进入站点包,看到HTTPTokenAuth在那里,应该被调用。
我试着做
import flask_httpauth
print (flask_httpauth.__version__)
检查我的应用程序调用的版本,但这并不适用于所有python包,而且flaskhttpauth似乎没有这个功能。
在我将虚拟环境链接到Python的web选项卡上的任何位置都没有显示错误。
PythonAnywhere在这里开发,只是转发了从@ExperimentsWithCode的论坛帖子中发现的解决方案。问题发生在从PythonAnywhere上的编辑器运行代码时。这与在指定virtualenv的"Web"选项卡上进行的配置是分开的:人们可以从编辑器中运行他们想要的任何代码,无论它与哪个Web应用程序相关联,甚至是与Web应用程序无关的代码。
因此,解决方案就是@Miguel建议的:使用shebang。