运行 python Amazon Linux 实例上的脚本时出现库错误

Library errors when running python script on Amazon Linux instance

我正在尝试在 AWS Lambda 上启动和 运行ning 脚本,运行ning 脚本时遇到了一些问题。

解决我的每一个问题。我首先使用 virtualenv 准备了脚本并上传了它。当我尝试调用脚本时,收到以下错误。

Payload:
{"errorMessage": "Unable to import module 'handler': No module named 'pygsheets'", "errorType": "Runtime.ImportModuleError"}

这样做之后,我发现有人 mentioned 如果他们试图在他们的系统上准备库但能够在 EC2 实例上成功创建脚本,他们会遇到麻烦。

试了之后还是不行。作为预防措施,我尝试 运行 EC2 实例上的脚本。添加库文件夹的位置后,我可以更进一步。

现在我似乎陷入了一个库错误循环,出现以下两个错误。

Traceback (most recent call last):
  File "handler.py", line 9, in <module>
    import pygsheets as py
  File "/home/ec2-user/package/pygsheets/__init__.py", line 14, in <module>
    from pygsheets.authorization import authorize
  File "/home/ec2-user/package/pygsheets/authorization.py", line 11, in <module>
    from pygsheets.client import Client
  File "/home/ec2-user/package/pygsheets/client.py", line 8, in <module>
    from pygsheets.drive import DriveAPIWrapper
  File "/home/ec2-user/package/pygsheets/drive.py", line 6, in <module>
    from googleapiclient import discovery
  File "/home/ec2-user/package/googleapiclient/discovery.py", line 50, in <module>
    import google.api_core.client_options
ModuleNotFoundError: No module named 'google.api_core'

Traceback (most recent call last):
  File "handler.py", line 9, in <module>
    import pygsheets as py
  File "/home/ec2-user/package/pygsheets/__init__.py", line 14, in <module>
    from pygsheets.authorization import authorize
  File "/home/ec2-user/package/pygsheets/authorization.py", line 6, in <module>
    from google.oauth2 import service_account
ModuleNotFoundError: No module named 'google.oauth2'

如果我 运行 python3 -m pip install --target /home/ec2-user/package --upgrade google-auth 我在 运行 脚本时遇到第一个错误。 如果我然后 运行 python3 -m pip install --target ./package --upgrade google-api_core 我会在 运行 脚本时得到第二个错误。 如果我随后尝试修复第二个错误,我将再次遇到第一个错误。

有人知道我该如何继续吗?

一些可能有用的信息 当我制作 virtualenv 时,运行 脚本没有遇到任何问题。我只是在上传到 AWS 后遇到了问题。

总结

我能够解决我的问题。看来我的 Docker 有问题。重新安装该软件后,我不再有任何图书馆问题。