AWS Lambda 没有名为 'regex._regex' 的模块

AWS Lambda No module named 'regex._regex'

我一直在尝试使用 python 3.9 通过 AWS Lambda 运行 一些代码,但是当我 运行 我的代码时,我一直遇到问题。我不断收到“没有名为 'regex._regex' 的模块”错误。 几天前,我在通过 PyCharm 在本地工作时遇到了这个问题,但我设法通过安装更新​​版本的正则表达式来解决这个问题(老实说,我不记得到底是什么修复了它花了一整天的时间来尝试和解决那个问题)。 但现在它可以在 PyCharm 上运行,我还在 VSCode 上测试了我的代码,它也可以在 VSCode 上运行,没有任何问题 但出于某种原因,每次我将文件复制到 AWS Lambda 到 运行 时,我都会再次收到错误消息。 我环顾四周,还有其他人不久前遇到过错误,但他们没有找到任何解决方案,none 他们中的人也对我有用。

具体来说,我正在导入 python-binance 模块,并在该模块中尝试导入正则表达式,它成功地在导入其他正则表达式文件的正则表达式文件周围跳动了几个级别,直到它成功为止'不要阅读特定的“_regex”文件。 _regex 文件是一个 python 文件,所以这可能与它有关,但它通过 PyCharm 和 VSCode 工作,所以我不知道它在 Lambda 中会有什么不同。 我已经通过 pip 正常安装了正则表达式文件(pip install regex)以及与我的 python 脚本相同的位置(pip install -t MyFile regex)。安装它们后,除了它们最初进入的文件夹外,它们不会嵌套在任何其他文件夹中。

需要说明的是,我有一个本地文件夹,我正在编写我的代码并将我的包导入其中,然后我将其压缩并上传到 lambda 我取出了那部分代码并取出了 python-binance 的导入(指的是导入正则表达式并因此导致了问题)并且我的所有其他包都工作正常所以这不是我得到我的方式目录中存储的包。

我试过更改 Python 的版本,lambda 是 运行 3.8 和 3.7 膨胀,但问题仍然存在。

错误:

{ "errorMessage": "无法导入模块 'lambda_function':没有名为 'regex._regex' 的模块", "errorType": "Runtime.ImportModuleError", “requestId”:“c59ea163-53bf-4b1a-8cc5-a4d23283cf0f”, “堆栈跟踪”: [] }

如有任何帮助,我们将不胜感激。

_regex 模块中的前导下划线表示它是 C 扩展。您可能想尝试将 wheel 下载到您的 Lambda 项目中,如下所述: https://aws.amazon.com/premiumsupport/knowledge-center/lambda-python-package-compatible/