ImportError: No module named queue - Flask app on Cloud Foundry

ImportError: No module named queue - Flask app on Cloud Foundry

我正在尝试将 Flask 应用程序 (Python 3.5) 推送到 Cloud Foundry (CF)。该应用程序接受 POST 请求(文本文件)和 returns 消息。它在本地工作(通过 Postman 测试)。但是,当尝试将其推送到 CF 时,它会给出错误 -

ImportError: No module named queue

这是我的代码,其中包含 queue

import queue as Queue
self._batch_queue = Queue.Queue(self.BATCH_QUEUE_MAX)
self._example_queue = Queue.Queue(self.BATCH_QUEUE_MAX * self._hps.batch_size)

我已经尝试了建议的解决方案 ,但这些都没有解决我的问题。我认为问题在于 CF 中的 Python 没有队列包。 (我可能是错的)。

任何关于如何解决这个问题的想法都将不胜感激。提前致谢!

正如@KlausD 在评论中提到的,您似乎安装了错误的 Python 版本。在 Cloud Foundry 上,您可以通过在项目的根目录中包含一个名为 runtime.txt 的文件来设置版本(即您所在的目录 运行 cf push)。

https://docs.cloudfoundry.org/buildpacks/python/index.html#runtime

该文件用于告诉 Python buildpack 为您安装 Python 的哪个版本。建议是 python-3.5.xpython-3.6.x,这将安装最新的 3.5 或 3.6 版本。您可以指定一个确切的版本,例如 python-3.5.5,但不建议这样做,因为当 Python 的新版本出现时很容易忘记更新该文件。

您可以在此处查看构建包支持哪些 Python 版本。

https://buildpacks.cloudfoundry.org/#/buildpacks/python/v1.6.17

(注意link在我写这篇文章的时候转到了最新版本的buildpack,它会过时的。以后只要点击最新版本的buildpack就可以看到随附什么)。