Google Cloud Endpoints 可以使用 Text To Speech 吗?

Can Google Cloud Endpoints work with Text To Speech?

我试图通过 运行在 GAE Python 2.7 中设置 UI 和然后将 OpenAPI 部署到也使用 Python 2.7 的 Cloud Endpoints。我希望我的 API 能够检查 Google 云存储 (GCS) 中的文件,然后如果它不存在,则从数据存储中获取实体,使用文本处理一些数据- to-Speech,然后将生成的 mp3 保存到 GCS。

在 Python 2.7、I need to use the old (2015) cloudstorage 客户端库、google-endpointsgoogle-endpoints-api-managementgoogle-cloud-texttospeech 模块下,都在我的 ./lib 文件夹。

安装了这些模块后,我可以毫无问题地 运行 "echo" demo project。这表明没有依赖版本冲突。但是,当尝试使用 texttospeech 时,出现此错误:

ImportError: No module named grpc._cython.cygrpc

为了解决这个问题,我将以下内容添加到 app.yaml 的 libraries 部分:

- name: grpcio
  version: latest

然后我得到这个错误:

from six.moves import http_client 
ImportError: No module named moves

我尝试类似地修复它,但错误仍然存​​在

- name: six
  version: latest

没有帮助。 six1.12.0安装在./lib中,1.11.0自带最新的gcloudcloud SDK(233.0.0)。

如何将文本转语音与 Cloud Endpoints 结合使用?即使我得到这个工作,我能期望它与 GCS 和数据存储一起工作吗?到目前为止,在 GAE 下使用 Flask-RESTful 似乎更容易。

我认为答案是 Google 云客户端库还不兼容 Google App Engine。当我尝试在 GAE 应用程序中使用文本转语音时,我在这里遇到的问题仍然存在,即使它在 运行 在 GAE 应用程序之外进行本地小测试时工作正常。

可以在此处跟踪此问题: https://github.com/googleapis/google-cloud-python/issues/1893

These client libraries do not work with the first-generation Python 2.7 runtime, and there are no plans to support them.

您将需要改用新的第二代 Python 3.7 运行时,这样您就可以安装任意依赖项。有关详细信息,请参阅“Python 3 Runtime Environment”。