2

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

文档建议这是导入它的正确方法,但由于某种原因它不起作用。有什么想法可以让我导入令牌身份验证吗?

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

我在任何地方都使用 python。

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

我试着做

import flask_httpauth
print (flask_httpauth.__version__)

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

在 pythonanywhere 的 web 选项卡上链接了虚拟环境的位置没有显示错误。

4

1 回答 1

3

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

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

于 2016-04-07T12:08:25.227 回答