【发布时间】:2018-07-03 06:12:50
【问题描述】:
我正在尝试部署 AWS Lambda 程序包。该语言是 Python 3.6,它包括外部模块(flask-ask 和间接cryptography)。当我这样做并测试功能时,AWS 报告错误:
No module named 'cryptography.hazmat.bindings._openssl'
我的开发环境是 Windows 10。我的功能在我的开发环境中运行良好。我用 Powershell 脚本打包了这个函数...
& $pip install flask-ask -t $projectDir
...然后将结果和函数压缩成压缩包。我的 Python 3.6 开发版本是 64 位的。
问题
为什么该功能在本地工作,但打包并发送到 AWS 时却不行? 缺什么?以及如何解决。
类似问题
我在这里发现其他人也有类似的问题:
- importing cryptography.hazmat.bindings._openssl in Python 3.6 AWS Lambda Error
- When zipping a virtual env for AWS Lambda deployment, what can I leave out?
我讨厌切换到 Python 2.7。第二个只有linux开发环境的解决方案。
【问题讨论】:
-
您解决过这个问题吗?在测试我的 lambda 时,我无法加载 Crypto 本机库。
-
克里斯,解决方案是使用 Python
-
你能澄清一下吗?你的意思是你恢复到 Python 2.7?如果是这样,您是如何解决 pyOpenSSL 库和 2.7 中的其他不兼容问题的?
标签: python-3.x amazon-web-services lambda