首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自google.cloud.speech导入枚举ImportError的错误枚举:无法导入名称‘enum’

来自google.cloud.speech导入枚举ImportError的错误枚举:无法导入名称‘enum’
EN

Stack Overflow用户
提问于 2019-08-31 21:42:37
回答 2查看 2.2K关注 0票数 0

请参阅url ImportError: cannot import name 'enums'

google cloud speech ImportError: cannot import name 'enums'

在我的项目中使用google-cloud-speech api时,我得到了这个错误。我没有在虚拟环境中使用pipenv。我安装了google-cloud-speech api

代码语言:javascript
复制
pip3 install google-cloud-speech

代码语言:javascript
复制
pip3 update google-cloud-speech

环境win10 python3.6.8 3.6.8

google-api-core 1.14.2

google-auth 1.6.3

google-cloud 0.34.0

google-cloud-core 1.0.3

google-cloud-speech 1.2.0

google-cloud-storage 1.18.0

谷歌-可恢复-媒体0.3.3

googleapis-common-protos 1.6.0

grpc-google-cloud-speech-v1beta1 1.0.1

enum34 1.1.6枚举0.0.2

错误内容

代码语言:javascript
复制
from google.cloud.speech import enums
ImportError: cannot import name 'enums'

我已经尝试过pip命令了。

代码语言:javascript
复制
pip3 install enums
pip3 install enum34

pip3 install google-cloud-speech 
pip3 upgrade google-cloud-speech 

当代码在GCP的google cloud shell中运行时,下面的代码运行得很好,我没有收到错误。

代码语言:javascript
复制
# !/usr/bin/env python
# coding: utf-8
import argparse
import io
import sys
import codecs
import datetime
import locale
from google.cloud import storage

from google.cloud import speech_v1 as speech
from google.cloud.speech_v1 import enums
from google.cloud.speech_v1 import types

from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types


def transcribe_gcs(gcs_uri):
    from google.cloud import speech
    from google.cloud.speech import enums
    from google.cloud.speech import types
    client = speech.SpeechClient()

    audio = types.RecognitionAudio(uri=gcs_uri)
    config = types.RecognitionConfig(
        encoding=enums.RecognitionConfig.AudioEncoding.FLAC, # wavsetting
        sample_rate_hertz=44100, # hertz must be fix raw files
        language_code='ja-JP') #for japanese language

    operation = client.long_running_recognize(config, audio)

    print('Waiting for operation to complete...')
    operationResult = operation.result()

    d = datetime.datetime.today()
    today = d.strftime("%Y%m%d-%H%M%S")
    fout = codecs.open('output{}.txt'.format(today), 'a', 'utf-8')

    for result in operationResult.results:
      for alternative in result.alternatives:
          fout.write(u'{}\n'.format(alternative.transcript))
          print('alternative.transcript===',format(alternative.transcript))
    fout.close()

    print('alternative.transcript===',format(alternative.transcript))
    print('operationResult===',operationResult)

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument(
        'path', help='GCS path for audio file to be recognized')
    args = parser.parse_args()
    transcribe_gcs(args.path)

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-10-16 00:43:31

通过使用pip install google.cloud.speech,您将获得最新版本,当前为V2。

在V2中,枚举和类型已被删除,不再需要。

https://github.com/googleapis/python-speech/blob/master/UPGRADING.md#enums-and-types

票数 2
EN

Stack Overflow用户

发布于 2019-10-12 13:48:48

应该是:from google.cloud.speech_v1 import enums

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57738521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档