模块未找到错误:没有名为'flask_session'的模块。

13

我有一个简单的Python文件,我正在尝试设置它来使用会话,但当我运行文件时,我收到以下错误:

模块未找到错误:找不到名为'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())

你真的安装了吗?尝试使用“$ pip install flask-session”进行安装。 - Grey Li
请使用小写字母的那个! - Jan Sila
12个回答

25

我在学习哈佛 CS50x 课程时首次遇到了这个问题。我使用 Linux 操作系统,并且一直在使用 Python3,但事实证明我安装了适用于 Python2 的 Flask-Session。

我不知道这是否也适用于 Mac,但我改用以下方法:

$ pip3 install flask-session

然后您可以使用pip的freeze命令来检查它是否已安装。在执行此操作后,我的VSCode中的pylint不再出现错误。


谢谢!!!我在上CS50 2022年秋季课程,到了第9章“Flask”,一切都很顺利,直到我遇到了同样的错误。我没有抓狂和咒骂数小时,而是在谷歌上搜索:ModuleNotFoundError: No module named 'flask_session',找到了这个解决方法,它起作用了。谢谢!!!! - Dave

13
我遇到了许多次"flask_session 模块未找到"的错误,经过成千上万的尝试,花了2个小时才找到解决方法。我查阅了许多网站,但都没有得到解决方案。当我在edx.org上学习哈佛大学的cs50网络开发课程时遇到了这个错误,在reddit的论坛讨论中,他们提到哈佛使用了一个特殊的服务器使其正常工作,我因此感到失落,但两个小时后我欢呼雀跃,因为我找到了一种解决方案,而这种方案在互联网上根本找不到。
你不应该使用from flask_session import Session 而是使用from flask_session.__init__ import Session 我不能在此解释为什么要这样做的术语,但是如果您想理解为什么要这样做,可以给我发送私信。祝编码愉快!

天啊,太感谢了。我正在上这门课程,也卡在了会话部分。这应该是对楼主问题最好的回答了。 - Mahir Islam
谢谢,我也需要这个。 - JulieC

4

2
只需前往终端并键入 pip install flask_session,等待安装完成后,您就可以使用它了。(许多其他解决方案也无法正常工作,请查看图像中突出显示的红色enter image description here部分。一旦安装完成,它就可以正常工作。)

1

我在Windows上使用它:

你的目录中没有库"flask_session"(--是一个目录--),位于...venv\Lib\site-packages(虚拟环境)。

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


谢谢,我需要这个。我已经想通了,但是为了更好地改进指导方针:我将文件从C:\Users\username\AppData\Local\Programs\Python\Python36\Lib\site-packages\flask_session中复制到我找到的venv(从C:\Users\username运行dir /s venv)到C:\Users\username\AppData\Local\Programs\Python\Python36\Lib\venv我还需要另一个答案中的from flask_session.init import Session提示。希望这能帮助到某些人! - JulieC

1
我遇到了同样的错误。
以下方法适用于我:
使用以下命令安装扩展:
$ easy_install Flask-Session

或者,如果您已经安装了pip:
$ pip install Flask-Session

0

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

$ easy_install Flask-Session

如果显示错误,请在其前面使用sudo。如果出现任何错误,请告诉我,也请随意点赞。


0

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

  • 在我的情况下,我使用pip3安装了所有内容,以使其与Python 3.7配合使用,在卸载系统中的Python 2并重新打开vscode后才能正常工作。

0

0

请将此翻译为解释性条件答案,以避免给人询问澄清问题的印象,而不是回答问题(应使用评论代替答案,请参见 https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead)。例如,“如果您的问题是......那么解决方法是......,因为......”等。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接