ModuleNotFoundError:没有名为“ flask_session”的模块

时间:2018-07-12 19:41:56

标签: python flask

我有一个简单的python文件,尝试将其设置为使用会话,当我运行该文件时,出现以下错误:

  

ModuleNotFoundError:没有名为“ flask_session”的模块

我相信我正在正确导入该模块,是否还有其他可以检查以正确设置此模块的信息?

from flask import Flask, render_template, request, session
from flask_session import Session

app = Flask(__name__)

app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"

Session(app)

@app.route("/", methods=["GET", "POST"])
def index():
    if session.get("notes") is None:
        session["notes"] = []

    if request.method == "POST":
        note = request.form.get("note")
        session["notes"].append(note)

    return render_template("index.html", notes=notes)

这是回溯(最近一次拨打电话)

File "c:\python37\lib\site-packages\flask\cli.py", line 325, in __call__
Open an interactive python shell in this frameself._flush_bg_loading_exception()

File "c:\python37\lib\site-packages\flask\cli.py", line 313, in _flush_bg_loading_exception
reraise(*exc_info)

File "c:\python37\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value

File "c:\python37\lib\site-packages\flask\cli.py", line 302, in _load_app
self._load_unlocked()

File "c:\python37\lib\site-packages\flask\cli.py", line 317, in _load_unlocked
self._app = rv = self.loader()

File "c:\python37\lib\site-packages\flask\cli.py", line 372, in load_app
app = locate_app(self, import_name, name)

File "c:\python37\lib\site-packages\flask\cli.py", line 242, in locate_app
'\n\n{tb}'.format(name=module_name, tb=traceback.format_exc())

10 个答案:

答案 0 :(得分:3)

  • 确保已安装扩展程序:

pip安装Flask-Session

oficial page with instructions

  • 如果收到错误“ ModuleNotFoundError:没有名为'werkzeug.contrib'的模块”:

pip install werkzeug == 0.16.0

最新版本是1.0.1,但只有0.16.0有效。

(where I found this solution) (official page)

答案 1 :(得分:2)

我在做哈佛的CS50x类时首先遇到了这个问题。我正在使用Linux,并且一直在使用Python3,因为事实证明我已经为Python2安装了Flask-Session。 我不知道它是否也适用于Mac,但是我改用了以下内容:

$ pip3 install flask-session

然后,您可以检查是否已使用pip的Frozen命令安装了它。完成此操作后,我在VSCode中的pylint不再给出错误。

答案 2 :(得分:1)

我多次找不到flask_session模块,经过数千次尝试,我花了2个小时才找到修复程序。好吧,我也访问了许多寻找解决方案的站点,但没有得到任何解决方案。我在哈佛大学edx.org上学习在线课程cs50 Web开发的过程中遇到了这个错误,当我在reddit上阅读论坛讨论时,看到了他们提到哈佛使用特殊服务器使其工作的评论,并且我感到很痛苦。我不会去哈佛,但是两个小时后,我大喊大叫,因为我刚刚找到了互联网上找不到的解决方案。

您不应使用from flask_session import Session

代替使用from flask_session.__init__ import Session

我无法在此处解释我们为什么执行此操作的术语,但是如果您想了解我们为什么执行此操作,可以私信给我。编码愉快!

答案 3 :(得分:1)

只需转到终端并输入pip install flask_session,等待安装,一旦完成,您就可以开始了。 (同样,许多其他解决方案也不起作用,请在图像中寻找红色的enter image description here突出显示的部分。安装后,它可以正常工作。)

答案 4 :(得分:1)

我遇到了同样的错误。

以下内容对我有用。

使用以下命令安装扩展程序:

$ easy_install Flask-Session

或者,如果您已安装pip:

$ pip install Flask-Session

答案 5 :(得分:0)

尝试执行以下命令,而不是全部输入终端并输入

$ easy_install Flask-Session

如果显示错误,请在其前使用sudo,如果显示任何错误,请随时告知我

答案 6 :(得分:0)

首先使用以下命令$ pip install Flask-Session安装扩展。您可以通过https://pythonhosted.org/Flask-Session/

了解关于flask-session的更多信息

答案 7 :(得分:0)

我在Windows上得到它:

目录... venv \ Lib \ site-packages(虚拟环境)中没有库“ flask_session”(-是目录-)

您只需要从C:\ Users \您的_user \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages复制它  然后将其粘贴到venv \ Lib \ site-packages或您已安装虚拟环境的位置。就是这样,对我的英语感到抱歉,来自麦德林哥伦比亚的问候。

答案 8 :(得分:0)

为完整起见,我将分享我的解决方案:

  • 在我的案例中,所有内容都通过pip3进行了安装,以使其能够与python 3.7一起使用,仅在从系统中卸载python 2并重新打开vscode之后,才与vscode一起使用。

答案 9 :(得分:-1)

您正在使用此库吗? https://pythonhosted.org/Flask-Session/

文档建议以这种方式导入它:from flask.ext.session import Session