使用 AWS Lambda 函数来使用某些 Microsoft Azure TTS API。只是尝试导入“import azure.cognitiveservices.speech aspeechsdk”时遇到麻烦并出现错误。使用 pip3 install azure-cognitiveservices-speech -t 正确上传所需的依赖项。
似乎是 AWS 运行时 Linux 的问题,在 mac 机器上本地工作正常。有人可以帮忙吗?可能与上传自定义 docker 镜像 like this solution 有关或 this 出现某种问题,但不确定如何将此依赖项添加到 aws lambda。
非常感谢。
最佳答案
要解决此无法导入模块“lambda_function”:没有名为“_speech_py_impl”的模块
错误,请尝试以下方法:
您可能已将 azure-cognitiveservices-speech
安装在错误的目录中。
根据documentation :
1.开放AWS EC2环境:
$ sudo amazon-linux-extras install python3.8
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python3.8 get-pip.py --user
2.创建Python文件夹:
$ mkdir python
3.安装azure.cognitiveservices.speech
:
$ python3.8 -m pip install azure.cognitiveservices.speech -t python/
4.压缩内容:
$ zip -r layer.zip python
5.将 Lambda 层发布到您的 Lambda 函数所在的 AWS 区域:
aws lambda publish-layer-version --layer-name azure.cognitiveservices.speech-layer --zip-file fileb://layer.zip --compatible-runtimes python3.8 --region <your AWS region>
引用文献:Unable to import module 'lambda_function' , AWS Lambda Python error - Runtime.ImportModuleError和 ModuleNotFoundError: No module named '_speech_py_impl'
关于python - 无法导入模块 'lambda_function' : No module named '_speech_py_impl' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72650373/