【问题标题】:Flask, Bcrypt - ImportError: No module named ext.bcrypt [duplicate]Flask,Bcrypt - ImportError:没有名为 ext.bcrypt 的模块 [重复]
【发布时间】:2018-08-18 04:00:06
【问题描述】:

为什么会这样?

from flask import Flask
from flask.ext.bcrypt import Bcrypt

 Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask import Flask
>>> from flask.ext.bcrypt import Bcrypt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named ext.bcrypt

我已经安装了flask-bcrypt:

pip install Flask-Bcrypt
Requirement already satisfied: Flask-Bcrypt in /usr/local/lib/python2.7/dist-packages (0.7.1)
Requirement already satisfied: Flask in /usr/local/lib/python2.7/dist-packages (from Flask-Bcrypt) (1.0.2)
Requirement already satisfied: bcrypt in /usr/local/lib/python2.7/dist-packages/bcrypt-3.1.4-py2.7-linux-x86_64.egg (from Flask-Bcrypt) (3.1.4)
Requirement already satisfied: Jinja2>=2.10 in /usr/local/lib/python2.7/dist-packages/Jinja2-2.10-py2.7.egg (from Flask->Flask-Bcrypt) (2.10)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Bcrypt) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Bcrypt) (0.14.1)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python2.7/dist-packages (from Flask->Flask-Bcrypt) (6.7)
Requirement already satisfied: cffi>=1.1 in /usr/local/lib/python2.7/dist-packages/cffi-1.11.5-py2.7-linux-x86_64.egg (from bcrypt->Flask-Bcrypt) (1.11.5)
Requirement already satisfied: six>=1.4.1 in /usr/local/lib/python2.7/dist-packages/six-1.10.0-py2.7.egg (from bcrypt->Flask-Bcrypt) (1.10.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python2.7/dist-packages/MarkupSafe-1.0-py2.7-linux-x86_64.egg (from Jinja2>=2.10->Flask->Flask-Bcrypt) (1.0)
Requirement already satisfied: pycparser in /usr/local/lib/python2.7/dist-packages/pycparser-2.18-py2.7.egg (from cffi>=1.1->bcrypt->Flask-Bcrypt) (2.18)

这个错误让我无处可去。我在这里关注了文档:

https://flask-bcrypt.readthedocs.io/en/latest/

【问题讨论】:

  • 你试过from flask_bcrypt import Bcrypt 吗?

标签: python python-2.7 flask


【解决方案1】:

尝试使用from flask_bcrypt import Bcrypt

这是因为关于烧瓶扩展的烧瓶文档暗示以Flask-Foo 形式的扩展并被导入为:from flask_foo import Foo

http://flask.pocoo.org/docs/1.0/extensions/

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
  • 感谢您的建议,我将对其进行编辑并进行解释。
【解决方案2】:

在最近的烧瓶更新中,from flask.ext.xxx import xxx 已被删除。您应该直接从其包中导入它。这是一个相关的issue

顺便说一句,这个包似乎已经过时了(最近一次更新是两年前)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 2014-03-05
    • 2014-05-07
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    相关资源
    最近更新 更多