我正在尝试将一个烧瓶应用程序(Python 3.5)推送到Cloud Foundry(CF)。应用程序接受POST请求(文本文件)并返回消息。它在本地工作(通过Postman测试)。但是,当试图将其推送到CF时,它会给出错误 -
ImportError:没有名为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)
我已尝试过建议的解决方案here,但这些都没有解决我的问题。我认为问题在于CF中的Python没有队列包。 (我可能是错的)。
任何关于如何解决这个问题的想法都将非常感激。提前致谢!
答案 0 :(得分:0)
正如@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发布时很容易忘记更新该文件。
您可以在此处查看buildpack支持哪些版本的Python。
https://buildpacks.cloudfoundry.org/#/buildpacks/python/v1.6.17
(请注意,在我写这篇文章时,链接会转到buildpack的最新版本,它会过时。将来,只需单击最新版本的buildpack即可查看随附的内容)。