Heroku无法从“flask_session”导入名称“Session”

oogrdqng  于 2023-08-06  发布在  其他
关注(0)|答案(2)|浏览(195)

尝试使用heroku部署我的网站会导致此错误。我的网站在flask中运行良好,所以它必须只是一些cli问题或与我的虚拟环境有关的问题。我不是这方面的Maven,所以我不知道如何解决这个问题。
这里是错误日志。

2023-07-24T02:31:34.494523+00:00 app[web.1]: ImportError: cannot import name 'Session' from 'flask_session' (unknown location)
2023-07-24T02:31:34.494654+00:00 app[web.1]: [2023-07-24 02:31:34 +0000] [8] [INFO] Worker exiting (pid: 8)
2023-07-24T02:31:34.526827+00:00 app[web.1]: [2023-07-24 02:31:34 +0000] [2] [ERROR] Worker (pid:7) exited with code 3
2023-07-24T02:31:34.528740+00:00 app[web.1]: [2023-07-24 02:31:34 +0000] [2] [ERROR] Worker (pid:8) was sent SIGTERM!
2023-07-24T02:31:34.627270+00:00 app[web.1]: [2023-07-24 02:31:34 +0000] [2] [ERROR] Shutting down: Master
2023-07-24T02:31:34.627284+00:00 app[web.1]: [2023-07-24 02:31:34 +0000] [2] [ERROR] Reason: Worker failed to boot.
2023-07-24T02:31:35.098046+00:00 heroku[web.1]: Process exited with status 3
2023-07-24T02:31:35.130639+00:00 heroku[web.1]: State changed from starting to crashed
2023-07-24T02:31:48.794602+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=flasker888-950c07d40a01.herokuapp.com request_id=7d5cb524-3382-4408-b53d-992e3382cb82 fwd="114.181.123.229" dyno= connect= service= status=503 bytes= protocol=https
2023-07-24T02:31:48.979619+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=flasker888-950c07d40a01.herokuapp.com request_id=a74969fb-4dbf-44e0-be3d-a21dd1c2d064 fwd="114.181.123.229" dyno= connect= service= status=503 bytes= protocol=https

字符串
正如你所看到的,错误发生在索引页,(路径="/”)和favicon的某种原因?但无论如何,它不能从flask_session导入Session,我不知道为什么。我知道这个问题已经问过了,但给出的答案是没有帮助的,我仍然不知道如何解决这个问题。我真的是一个初学者在使用虚拟环境,所以任何帮助解决这个问题将不胜感激。
编辑:问题似乎是需求页面缺少必要的信息。我用pip freeze来启动这个,现在flask会话可以工作了,但是由于某种原因,它不能识别flask bcrypt。我不知道除了pip freeze之外还有其他安装软件包的方法,所以我只能使用这个页面,而heroku无法部署它,直到我添加丢失的软件包。

blinker==1.6.2
cachelib==0.10.2
click==8.1.3
colorama==0.4.6
Flask==2.3.2
Flask-Login==0.6.2
Flask-Session==0.5.0
Flask-SQLAlchemy==3.0.5
greenlet==2.0.2
gunicorn==21.1.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
numpy==1.25.1
packaging==23.1
pandas==2.0.3
psycopg2==2.9.6
python-dateutil==2.8.2
pytz==2023.3
six==1.16.0
SQLAlchemy==2.0.17
typing_extensions==4.7.1
tzdata==2023.3
Werkzeug==2.3.6

z6psavjg

z6psavjg1#

请确保已安装并正确导入flask_session
如果在Heroku上部署时问题仍然存在,您可以登录Heroku示例并运行Python shell命令heroku run python。尝试从Python shell中的flask_session导入Session,以查看是否发生错误

iaqfqrcu

iaqfqrcu2#

我仍然不知道当pip freeze不工作时如何安装软件包,但我只是手动将丢失的软件包的名称放入requirements.txt文件中。在那之后,我遇到了一个sqlalchemy的问题,通过将postgres更改为postgresql解决了这个问题。我的网站现在已经上线运行了。

相关问题