Lambda error: no module found. Cryptography.hamtaz.bindings._constant_time
Lambda error: no module found. Cryptography.hamtaz.bindings._constant_time
我创建了一个将数据上传到雪花的 lambda 函数。我在文件夹中安装了所有要求,并与我的主 python 文件一起压缩。在 AWS 中 运行 显示错误:
no module found. Cryptography.hamtaz.bindings._constant_time.
但是我在指定路径下有这个模块。我不知道为什么它显示错误。不知道为什么会报错
代码如下:
main(event, context):
import snowflake.connector
cnx = snowflake.connector.connect( user='xxx', password='yyyyy', account='zzzz', database="db Name", schema = "schema Name" )
try:
query = "SELECT * FROM Table_Name"
cnx.cursor().execute(query)
finally:
cnx.close()
我需要为我的 lambda 包设置一个 virtualenv 才能工作。我还发现 pip install snowflake-connector-python 没有安装一些加密库,尽管如果我导航到我希望将它们放入的目录,添加 --target 。确实导致安装了这些库。
我最近遇到了同样的问题,发现它是 windows 环境的问题,尝试创建 linux 环境,安装 Python,打包,用所有库压缩你的代码和然后返回到 AWS lambda,希望它会起作用。
对于 python 3.6,当我在 AWS Lambda 函数中遇到错误 "Unable to import module 'main': No module named '_cffi_backend'"
时,我能够 运行 mv _cffi_backend.cpython-36m-x86_64-linux-gnu.so _cffi_backend.so
在我的 linux docker image with virtualenv问题得到解决。就像上面提到的,一些依赖项可能更好地放置在 --target 中,以便将它们放在你需要的地方
我最近遇到了同样的问题。原来我的 Lambda 函数运行时是 Python 3.8,但是 'cffi' 库是为 Python 3.6 编译的。我使用 Python 3.6 运行时创建了一个新的 Lambda 函数并将我的部署包上传到它,它立即开始工作。
我创建了一个将数据上传到雪花的 lambda 函数。我在文件夹中安装了所有要求,并与我的主 python 文件一起压缩。在 AWS 中 运行 显示错误:
no module found. Cryptography.hamtaz.bindings._constant_time.
但是我在指定路径下有这个模块。我不知道为什么它显示错误。不知道为什么会报错
代码如下:
main(event, context):
import snowflake.connector
cnx = snowflake.connector.connect( user='xxx', password='yyyyy', account='zzzz', database="db Name", schema = "schema Name" )
try:
query = "SELECT * FROM Table_Name"
cnx.cursor().execute(query)
finally:
cnx.close()
我需要为我的 lambda 包设置一个 virtualenv 才能工作。我还发现 pip install snowflake-connector-python 没有安装一些加密库,尽管如果我导航到我希望将它们放入的目录,添加 --target 。确实导致安装了这些库。
我最近遇到了同样的问题,发现它是 windows 环境的问题,尝试创建 linux 环境,安装 Python,打包,用所有库压缩你的代码和然后返回到 AWS lambda,希望它会起作用。
对于 python 3.6,当我在 AWS Lambda 函数中遇到错误 "Unable to import module 'main': No module named '_cffi_backend'"
时,我能够 运行 mv _cffi_backend.cpython-36m-x86_64-linux-gnu.so _cffi_backend.so
在我的 linux docker image with virtualenv问题得到解决。就像上面提到的,一些依赖项可能更好地放置在 --target 中,以便将它们放在你需要的地方
我最近遇到了同样的问题。原来我的 Lambda 函数运行时是 Python 3.8,但是 'cffi' 库是为 Python 3.6 编译的。我使用 Python 3.6 运行时创建了一个新的 Lambda 函数并将我的部署包上传到它,它立即开始工作。