代码之家  ›  专栏  ›  技术社区  ›  Dominic Woodman

lambda函数-如何跨多个文件拆分python代码

  •  2
  • Dominic Woodman  · 技术社区  · 6 年前

    问题

    我正在尝试将lambda函数的python代码拆分为多个文件,但是任何导入其他相关模块的尝试都会导致顶级模块出错。

    {
      "errorMessage": "Unable to import module 'download_ga_data'"
    }
    

    我做错什么了?这感觉应该是超基本的。

    文件结构布局(从根目录显示)

    - download_ga_data.py
       - [analytics]
            - google.py (contains a single class)
            - __init__.py
       - [helpers]
            - main.py (contains a single class)
            - __init__.py
       - {other libraries from site-packages}
    

    下载内容\u ga_data.py

    # import unicodecsv as csv
    import os
    
    # import path
    from . import definitions
    from analytics.google import GoogleAnalytics
    from helpers.main import GoogleCloudStorageBucket
    
    def lambda_handler(event, context):
        print("test")
    

    这样会抛出错误。如果我在操作系统之后对这三个导入进行注释,那么它将正常工作。

    我应该如何正确地导入这两个模块,我觉得我缺少一些超基本的东西。

    环境注意事项

    这一切都建立在以下基础上 lambda mimicking docker 直接上传到S3。所有文件都是777,以绕过任何权限错误。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Dominic Woodman    6 年前

    enter image description here

    import definitions