ImportError:没有名为flask.ext.login的模块

时间:2014-02-11 11:57:36

标签: python flask flask-login

我对flask_login模块有疑问。

我已经成功安装了flask_login模块。同样从命令提示符,我可以轻松地运行此脚本,没有错误:

Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask.ext.login import LoginManager

但是当我运行这个脚本时:

from flask import Flask
from flask.ext.login import LoginManager
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World! Welcome"

if __name__ == "__main__":
    app.run()

我收到错误:

ImportError: No module named flask.ext.login

我在做什么错。我对这个烧瓶很新。提前谢谢。

8 个答案:

答案 0 :(得分:26)

如果以下操作不起作用:

from flask.ext.login import LoginManager

尝试以下方法:

from flask_login import LoginManager

这是新的惯例。

要查找flask-login版本,可以在终端中运行以下命令。只需更改名称即可了解其他软件包的版本。

pip show flask-login

答案 1 :(得分:14)

安装pip,然后使用以下命令:

C:\Python27\scripts>pip install Flask-Login

答案 2 :(得分:6)

如果您已经安装了flask-login,则

$pip install flask_login

尝试更换

from flask.ext.login import LoginManager

from flask_login import LoginManager

答案 3 :(得分:2)

这是一个环境错误 - 无论您使用什么IDE,都没有正确设置PYTHONPATH。您可以通过创建一个小测试文件test.py来测试它,其中包含以下内容:

from os import environ
print environ.get('PYTHONPATH')

如果PYTHONPATH不包含保存Flask-Login包的目录,那就是问题。

答案 4 :(得分:0)

奇怪但是当我尝试从命令提示符

运行脚本时,它工作正常
C:\Users\dib\Desktop>python foo.py
 * Running on http://127.0.0.1:5000/
127.0.0.1 - - [11/Feb/2014 18:03:52] "GET / HTTP/1.1" 200 -

但是当我尝试从python默认IDE pressing f5运行时,它无效。

答案 5 :(得分:0)

最初,我在虚拟环境上安装了flask_login。我发现它试图在机器上找到。所以我将其全局安装为;

mycomp# pip install -U flask_login

那解决了这个问题。

答案 6 :(得分:0)

对我来说,简单的解决方案是从flask.ext.login中删除.ext,而只需键入flask_login。这适用于python 3,并确保您已正确安装所需的软件包。

答案 7 :(得分:0)

解决方案很简单。不同版本的flask使用不同的代码运行,因此只需将代码:flask.ext.login更改为以下代码:flask_login

它应该运行平稳。

请注意,这也适用于引导程序。实际上是为了找到解决方案,在导入引导程序时出现了错误。

相关问题