【发布时间】:2020-05-22 08:46:54
【问题描述】:
我有一个导入 3 个库的 Python 脚本:
import pymysql
import pandas as pd
from sqlalchemy import create_engine
我计划在 AWS Glue 上运行 Python Shell。在this 和this 文档页面之后,我创建了一个setup.py:
from setuptools import setup
setup(name="pylibmodule",
version="0.1",
packages=[],
install_requires=['sqlalchemy==1.3.9','pandas==0.25.3','pymysql==0.9.3']
)
我运行 python setup.py bdist_wheel,将生成的 pylibmodule-0.1-py3-none-any.whl 文件放入 S3 存储桶,然后在 Glue Job 设置中指定存储桶位置。当我运行作业脚本时,它产生了一个错误。
经过调查,发现我已经成功导入pandas模块,但是导入sqlalchemy和pymysql失败。
ModuleNotFoundError: No module named 'sqlalchemy'
ModuleNotFoundError: No module named 'pymysql'
我做错了什么?
【问题讨论】:
-
根据文档,我认为导入应该来自命名模块?即,您可以尝试“从 pylibmodule 导入 sqlalchemy”而不是“导入 sqlalchemy”。我还希望你的 python 脚本与 whl 文件在同一个文件夹中? (根据第 4 点)
标签: sqlalchemy aws-glue pymysql python-wheel