从 flask_httpauth 导入 HTTPTokenAuth 时遇到问题

Trouble importing HTTPTokenAuth from flask_httpauth

我正在尝试对 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

但它声称一切都是最新的。 (Flask-HTTPAuth==3.1.1)

docs 建议这是导入它的正确方法,但由于某些原因它不起作用。有什么想法可以让令牌授权导入吗?

编辑::我删除并重新创建了我正在使用的虚拟环境。

我在任何地方都使用 python。

问题依然存在。我发现默认加载 Flask_httpauth 的旧版本(v2.2.0 而不是 v3.1.1)。我进入站点包并看到 HTTPTokenAuth 在那里并且应该被调用。

我试过

import flask_httpauth
print (flask_httpauth.__version__)

检查我的应用程序调用的版本,但这不适用于所有 python 包,而且 flask_httpauth 似乎没有该功能。

在 pythonanywhere 的 Web 选项卡上链接虚拟环境时,没有显示任何错误。

这里是 PythonAnywhere 开发者,只是重新发布了从@ExperimentsWithCode 的 forum post 中发现的解决方案。当代码从 PythonAnywhere 上的编辑器 运行 时,问题就发生了。这与在指定 virtualenv 的 "Web" 选项卡上完成的配置是分开的:人们可以 运行 从编辑器中获得他们想要的任何代码,无论它与哪个 Web 应用相关联,甚至代码与网络应用无关。

所以解决方案是@Miguel 建议的:使用 shebang。