必须放置flask-login的地方

时间:2014-05-18 19:39:36

标签: python flask pip flask-login

我想尝试使用flask-login,但导入时遇到一些问题。也许我把它放在错误的地方?

所以,我用pip install flask-login安装了它,它被放在python2.7/dist-packages中。在那里我得到了以下内容:

python2.7/dist-packages
    - flask (python package)
    - flask-login.py
    - flask-login.pyc
    - Flask_Login-0.2.10.egg-info (folder)
    - flask-wtf (python package)
    - Flask_WTF-0.9.5.egg-info (folder)
    - Flask-0.10.1.egg-info
    - jinja2 (python package)
    - Jinja2-2.7.2.egg-info (folder) 
    and so on

所以,正如我从dist-packages的内容中看到的,所有模块都有python包和* egg-info文件夹。但flask-login没有python包,只有两个.py文件。因此我得到了未解决的导入from flask.ext.login import LoginManager

flask软件包中,我只有ext个包含 init .py的软件包。

如果有人知道可能出现什么问题,我将非常感谢您的帮助。

顺便说一下,我用pip安装了所有模块(烧瓶,jinja,wtforms)。

更新

抱歉愚蠢的问题。看来我应该像这样导入:from flask_login import LoginManager。因为它只是库路径上的一个模块。

但是我遇到了很多像from flask.ext.login import LoginManager这样的导入。有没有办法将login置于ext内并且重要吗?

1 个答案:

答案 0 :(得分:1)

flask.ext有一些神奇的查找。

When a user does ``from flask.ext.login import foo`` it will attempt to
import ``from flask_login import foo`` first and when that fails it will
try to import ``from flaskext.login import foo``

那么,你有一个flask_login,还是一个flaskext.login?