python - 订阅 Google Cloud PubSub 模拟器时出现意外的关键字参数“thread_name_prefix”
问题描述
我正在尝试使用 Google Cloud pubsub 模拟器实现一个 pubsub 类。我正在使用 Python 在 Docker 上执行此操作,它基于 Flask。当我使用需求文件安装 Google Cloud SDK 时,一切正常,但是当我尝试使用时,pipenv
我得到了标题中提到的错误,我无法弄清楚如何不拥有它。
这是原始输出的样子:
Unexpected error:<type 'exceptions.TypeError'>
Traceback (most recent call last):
File "app.py", line 18, in <module>
pubsub.init()
File "/app/pubsub.py", line 85, in init
subscription = subscriber.subscribe(subscription_name, callback)
File "/usr/local/lib/python2.7/site-packages/google/cloud/pubsub_v1/subscriber/client.py", line 139, in subscribe
subscr = self._policy_class(self, subscription, flow_control)
File "/usr/local/lib/python2.7/site-packages/google/cloud/pubsub_v1/subscriber/policy/thread.py", line 90, in __init__
self._executor = self._get_executor(executor)
File "/usr/local/lib/python2.7/site-packages/google/cloud/pubsub_v1/subscriber/policy/thread.py", line 134, in _get_executor
**executor_kwargs
TypeError: __init__() got an unexpected keyword argument 'thread_name_prefix'
这是创建基础镜像(然后用作应用程序的基础)的 Dockerfile:
FROM python:2.7-alpine
RUN set -x && apk add --no-cache build-base && pip install pipenv
WORKDIR /api
COPY Pipfile ./
COPY Pipfile.lock ./
RUN set -ex && pipenv install --deploy --system
顺便说一句,当我在RUN pip install google.cloud.pubsub
之后立即执行时pipenv install
,它确实有效,所以它确实与pipenv
.
谢谢您的帮助 :)
解决方案
推荐阅读
- javascript - 使用 Selenium WebDriver 和 JavaScript 从 XPath 元素获取文本
- c - (C) 如何检查文件是否结束
- bash - 无法使用 nginx、fastcgi 和 bash 在 cgi 上禁用缓冲
- python - 在数据框中找到列表交集而不是逐行查找的更快方法?
- flutter - 2部手机不同高度颤动
- python - 计算超定义平面的梯度
- powershell - try catch 块中的 Powershell 删除项目失败,但未引发异常
- selenium - FirefoxDriverService 在 Selenium 服务器中不可用
- javascript - unscbribe 后的 mqtt.js 仍然收到来自旧侦听器的消息
- assembly - 使用 x86_64-linux-android-gcc 编译汇编代码的问题