【问题标题】:Flask - Openshift 500 Internal ErrorFlask - Openshift 500 内部错误
【发布时间】:2015-05-10 10:52:04
【问题描述】:

我一直在与这个问题作斗争。我似乎无法找到原因。我确保所有依赖项都在 setup.py 中。我已经 ssh-ed 进入应用程序并检查了日志。我得到了一个 flask-bcrypt ImportError,但我确保将它添加到 requirements.txt。

python.log

[Sun Apr 12 15:02:32 2015] [error] [client 127.12.21.1] raise ImportError('No module named %s' % fullname)
[Sun Apr 12 15:02:32 2015] [error] [client 127.12.21.1] ImportError: No module named flask.ext.bcrypt

postgres.log

2015-04-01 08:59:43 GMT LOG:无法为统计收集器绑定套接字:权限被拒绝 2015-04-01 08:59:43 GMT LOG:为统计收集器尝试另一个地址 2015-04-01 08:59:43 GMT LOG:无法为统计收集器绑定套接字:无法分配请求的地址 2015-04-01 08:59:43 GMT LOG:因缺少工作套接字而禁用统计收集器 2015-04-01 08:59:43 GMT 警告:由于配置错误,autovacuum 未启动 2015-04-01 08:59:43 GMT 提示:启用“track_counts”选项。 2015-04-01 08:59:43 GMT 日志:数据库系统于 2013-05-21 05:07:11 GMT 关闭 2015-04-01 08:59:43 GMT LOG:数据库系统已准备好接受连接 2015-04-01 09:31:35 GMT LOG:收到智能关机请求 2015-04-01 09:31:35 GMT 日志:关闭 2015-04-01 09:31:35 GMT LOG:数据库系统已关闭

更新 由于收到“数据库已关闭”消息,我粘贴了 postgres.log。 根据@ydaetskcoR 的要求,这里是 setup.py

从 setuptools 导入设置 设置( 名称='个人资料', 版本='1.0', description='创建在线专业和个人资料', 作者='Meke Ladna', author_email='ladna_mekelive@yahoo.com', url='http://profila-meke.openshift.com/', 安装要求= [ '烧瓶==0.10.1', '烧瓶登录== 0.2.7', 'Flask-SQLAlchemy==1.0', 'Flask-WTF==0.9.2', 'Flask-Bcrypt==0.6.2', “蒸馏器”, ], )

requirements.txt

<pre>
alembic==0.7.6
decorator==3.4.2
Flask==0.10.1
Flask-Bcrypt==0.6.2
Flask-Login==0.2.7
Flask-SQLAlchemy==1.0
Flask-WTF==0.9.2
itsdangerous==0.24
Jinja2==2.7.3
Mako==1.0.1
MarkupSafe==0.23
psycopg2==2.6
pyparsing==2.0.3
python-bcrypt==0.3.1
six==1.9.0
SQLAlchemy==0.9.9
SQLAlchemy-Searchable==0.9.2
SQLAlchemy-Utils==0.29.9
validators==0.7
Werkzeug==0.10.4
WTForms==2.0.2</pre>

【问题讨论】:

  • 你为什么发布 postgres 日志?这看起来运行良好,您的其余问题没有提到数据库是一个问题。更有用的是您的 requirements.txt 的副本,这样我们就可以看到为什么 bcrypt 没有被正确导入。还要添加你的 setup.py
  • 按要求更新,@ydaetskcoR
  • 你确定你在openshift中安装了bcrypt吗?我有类似的问题stackoverflow.com/questions/29883879/…
  • 我在 sshing 时尝试了 pip install。我已经满足了要求。我什至使用了 --upgrade 标志

标签: python postgresql flask openshift


【解决方案1】:

我终于能够使用 python 的日志记录来调试问题

<pre>
import logging
app.logger.addHandler(logging.StreamHandler(sys.stdout))
app.logger.setLevel(logging.ERROR)
</pre>

这会将错误记录到我在 openshift 中的日志中,事实证明,我的密钥未在我的环境变量中设置。

【讨论】:

    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2015-11-15
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多