【问题标题】:When a Python app runs out side of Bluemix but fails when run in Bluemix当 Python 应用程序用完 Bluemix 端但在 Bluemix 中运行时失败
【发布时间】:2015-11-24 10:38:14
【问题描述】:

这是一个我要自己回答的问题,因为我已经看过无数次了,它确实应该算作一个常见问题解答。

假设您创建了一个 Flask 或 Django 应用程序,并且它可以在您的测试环境中工作 - 在 bluemix 外部和 bluemix 内部。 然后您进行更改,或者合并一个新的 pip 导入,尽管您的应用程序仍然在您自己的本地环境中运行,但是当您将它推送到 Bluemix 时它会失败。

您可能会看到类似的内容:

OUT Starting app instance (index 0) with guid .... 
ERR Instance (index 0) failed to start accepting connections

【问题讨论】:

    标签: python django flask ibm-cloud


    【解决方案1】:

    如果它在您的本地环境中工作,那么问题在于移植到 Bluemix。如果在您进行更改之前它正在工作,那么它是您添加的东西。当然,假设您没有对 Procfile 以及程序的启动方式进行任何更改。

    这指出了本地环境和 Bluemix 之间的 python 运行时的差异。将会发生的情况是,您在本地运行的 python 版本支持代码结构(类似于执行迭代的方式),但您在 bluemix 上使用的 python 版本不支持。

    如果您没有 runtime.txt 文件,请创建一个。将其内容设置为您在本地环境中拥有的python版本(例如python-3.4.3)

    检查 Bluemix 上的 python 运行时,了解支持哪些版本的 python。如果您的版本不是,那么您需要在 manifest.yml 文件中明确设置 buildpack。例如。构建包:https://github.com/cloudfoundry/python-buildpack#v1.5.1

    我通常这样做是为了使我的应用程序免受对默认 Bluemix 运行时的更改。

    如果这些都没有帮助,那么您在仅在 Bluemix 上执行的代码中创建了一个编码错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多