python - 由于gevent导致heroku应用程序错误
问题描述
当我尝试推送到 Heroku 时,它的部署正确但显示应用程序错误。 在此处输入图像描述
无法更新,heroku 的日志如下
2018-09-13T04:54:13.237927+00:00 应用程序 [web.1]:导入 gevent
2018-09-13T04:54:13.237928+00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.6/site-packages/gevent/init .py ”,第 41 行,在
2018-09-13T04:54:13.237930+00:00 app[web.1]: from gevent.hub import get_hub, iwait, wait
2018-09-13T04:54:13.237931+00:00 app[web.1]:文件“/app/.heroku/python/lib/python3.6/site-packages/gevent/hub.py”,第 289 行
2018-09-13T04:54:13.237932+00:00 app[web.1]:例外情况除外,例如:
2018-09-13T04:54:13.237933+00:00 应用 [web.1]: ^
2018-09-13T04:54:13.237934+00:00 app[web.1]: SyntaxError: 无效语法
2018-09-13T04:54:13.237936+00:00 应用 [web.1]: ]
2018-09-13T04:54:13.237944+00:00 应用[web.1]:
解决方案
好的,我看到了问题,您正在使用 Python 3 来运行您的 Heroku 应用程序。
该行2018-09-13T04:54:13.237931+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gevent/hub.py", line 289
特别说明您使用的是 Python 3.6 运行时,并且您使用的 gevent 库适用于 Python 2。(例外是使用 Python 2 语法)
检查runtime.txt
您的项目根文件夹并确保它显示“python-2.7.15”,Heroku 有关于为您的应用程序指定 python 运行时的文档https://devcenter.heroku.com/articles/python-runtimes。
推荐阅读
- sf - geom_sf:绘制多个系列
- python - 如何将特定行的熊猫数据框中的值更改为 NaN?
- c++ - 非成员友元函数重载运算符是否被继承?
- python - argparse 以验证 python 中的未知参数
- sql - Anylogic:将参数值写入数据库表
- mongodb - PostgreSQL 和 MongoDB WHERE IN 条件
- sql - 如何部署一个没有人可以看到/查看源脚本但可以执行它的编译数据库
- typescript - 即使字段“type”是 const,Typescript 也不会推断类型
- react-native - xhr 轮询错误套接字 io / React-Native / ExpressJs
- vue.js - 一种从 Vuetify 中的数据表访问默认排序方法的方法