如何将 Python 模块导入到 Glue AWS 中的 Python 脚本中

问题描述 投票:0回答:1

我有一个具有这种结构的项目:

└── external_variables
    ├── anatel_access_data linux.py
    ├── anatel_access_data.py
    ├── bsria_variables.py
    ├── future_external_variables.py
    ├── past_external_variables.py
    └── utils
        ├── __init__.py
        ├── helper.py
        ├── redshift.py
        └── scriptcase.py

在我的

bsria_variables.py
中,我有以下导入:

from utils.redshift import connect_redshift, save_to_redshift
from utils.scriptcase import connect_sc, read_from_script_case

我将

bsria_variables.py
上传到 Glue 中的 Python 脚本中

我将

utils
文件夹的内容压缩到
utils.zip
并上传到
s3 bucket

但是,当我运行脚本时,它会抛出一个错误:

ModuleNotFoundError: No module named 'utils'

那么,如何将额外的 Python 文件导入到脚本中?

观察:在我的机器上工作。此外,我还提供了一个 IAM 角色,该角色可以访问

S3
来查看这些文件。

我添加了屏幕截图来完成问题:

Error on running

bsria_variables.py

我在

utils.zip
Python library path
中都告知了
Referenced files path

python-3.x amazon-web-services aws-glue python-module
1个回答
0
投票

我能够通过以下导入克服此错误:

from external_variables.utils import scriptcase, redshift

我只将我的

.whl
文件的路径告知
Python library path
,在本例中是
s3://aws-glue-assets-515113300956-us-east-1/libraries/external_variables/external_variables-0.1.0-py3-none-any.whl

克服这个解决方案最重要的事情是弄清楚我有一份Python shell 工作。并且它不接受

.zip
文件

© www.soinside.com 2019 - 2024. All rights reserved.