Python 错误google.cloud.speech从google.cloud.speech导入枚举ImportError:无法导入名称';枚举';

Python 错误google.cloud.speech从google.cloud.speech导入枚举ImportError:无法导入名称';枚举';,python,enums,google-cloud-platform,google-speech-api,google-cloud-speech,Python,Enums,Google Cloud Platform,Google Speech Api,Google Cloud Speech,参考网址 我在项目中使用谷歌云语音api时出错。我没有在虚拟环境中使用pipenv。我安装了谷歌云语音api pip3 install google-cloud-speech 及 环境 win10 蟒蛇3.6.8 谷歌api核心1.14.2 谷歌认证1.6.3 谷歌云0.34.0 谷歌云核心1.0.3 谷歌云语音1.2.0 谷歌云存储1.18.0 谷歌可恢复媒体0.3.3 googleapis通用protos 1.6.0 grpc-google-cloud-speech-v1beta1.0

参考网址

我在项目中使用谷歌云语音api时出错。我没有在虚拟环境中使用pipenv。我安装了谷歌云语音api

pip3 install google-cloud-speech

环境 win10 蟒蛇3.6.8

谷歌api核心1.14.2

谷歌认证1.6.3

谷歌云0.34.0

谷歌云核心1.0.3

谷歌云语音1.2.0

谷歌云存储1.18.0

谷歌可恢复媒体0.3.3

googleapis通用protos 1.6.0

grpc-google-cloud-speech-v1beta1.0.1

第34 1.1.6条 枚举0.0.2

错误内容

from google.cloud.speech import enums
ImportError: cannot import name 'enums'
我已经尝试了pip命令follow

pip3 install enums
pip3 install enum34

pip3 install google-cloud-speech 
pip3 upgrade google-cloud-speech 
这里是代码,当代码在GCP的googlecloudshell中运行时,下面的代码运行良好,我没有得到错误

# !/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)

提前感谢。

应该是:
来自google.cloud.speech\u v1导入枚举
应该是:
来自google.cloud.speech\u v1导入枚举
通过使用pip安装google.cloud.speech,您将获得最新版本,目前是V2

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


通过使用pip安装google.cloud.speech,您将获得最新版本,目前为V2

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


。。。作为genums导入枚举
有效吗?我尝试了该代码,但没有成功。。。将枚举导入为genums有效吗?我尝试了该代码,但没有像你说的那样有效。我忽略了添加gcs版本的代码。非常感谢Brendan。正如你所说。我忽略了添加gcs版本的代码。非常感谢Brendan。
# !/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)