我有一个Flask项目,已将flask模块(0.9版)直接放在我的app.py文件旁边。我这样做是为了将所有内容捆绑到一个版本控制存储库中,该存储库不需要其他人使用它来安装其他Python模块。
我想使用flask-login,所以我尝试通过下载最新版本并将flask_login.py文件放在我的“本地” flask / ext /目录中来手动安装它。然而,尽管我可以import flask和import flask.ext,我无法import flask.ext.login与Python投掷ImportError: No module named flask.ext.login。import flask.ext.flask_login也会引发导入错误。
flask-login
flask_login.py
import flask
import flask.ext
ImportError: No module named flask.ext.login。import flask.ext.flask_login
如果Flask及其扩展名是app.py本地的,我必须做些不同的事情吗?
解决方案是将flask_login.py文件与我的app.py文件放在同一目录中。无需修改flask/ext/__init__.py文件。
app.py
flask/ext/__init__.py
该flask.ext模块仅用作扩展程序导入器,而不用作已安装扩展程序的存储库。基于导入路径,我认为该flask/ext文件夹是要复制扩展名的位置。这是不正确的。扩展只需要在python路径上的某个位置即可。
flask.ext
flask/ext