我对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
我在做什么错。我对这个烧瓶很新。提前谢谢。
答案 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
它应该运行平稳。
请注意,这也适用于引导程序。实际上是为了找到解决方案,在导入引导程序时出现了错误。