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.x
或 python-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就可以看到随附什么)。
我正在尝试将 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)
我已经尝试了建议的解决方案
任何关于如何解决这个问题的想法都将不胜感激。提前致谢!
正如@KlausD 在评论中提到的,您似乎安装了错误的 Python 版本。在 Cloud Foundry 上,您可以通过在项目的根目录中包含一个名为 runtime.txt
的文件来设置版本(即您所在的目录 运行 cf push
)。
https://docs.cloudfoundry.org/buildpacks/python/index.html#runtime
该文件用于告诉 Python buildpack 为您安装 Python 的哪个版本。建议是 python-3.5.x
或 python-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就可以看到随附什么)。