AWS Glue:ModuleNofFoundError
AWS Glue: ModuleNofFoundError
在我的胶水脚本(Spark 3.1、Python 3、Glue 3)中,我正在尝试使用 pandas 库中的 df.to_excel()
函数。显然 pandas 库依赖于 openpyxl
。我的代码是:
import sys
import boto3
import openpyxl
import pandas as pd
client = boto3.client('s3')
obj = client.get_object(Bucket = 'myBucketName', Key = 'myFileName.csv')
df = pd.read_csv(obj['Body'])
df.to_excel("output.xlsx", sheet_name='my-sheet-name')
我遇到的问题是出现错误:ModuleNotFoundError: No module named 'openpyxl'
我在下面找到解释如何添加外部 python 库的链接:
https://docs.aws.amazon.com/glue/latest/dg/add-job-python.html#create-python-extra-library
显然我做错了什么,因为它对我不起作用。我的步骤是:
在本地创建 setup.py 文件:
从设置工具导入设置
设置(
名称=“openpyxl”,
版本=“3.0.7”,
install_requires=['openpyxl']
)
在我的本地目录py setup.py develop
执行(我在Windows,我的python版本是3.9.7)
在我的本地目录下执行py setup.py bdist_egg
将文件 ../dist/openpyxl-3.0.7-py3.9.egg
复制到我的 s3 存储桶中
在我的胶水作业中,我将文件位置放在 Python library path
我做错了什么?我错过了什么?
提前致谢!
在较新版本的 glue 中,您可以跳过 egg/wheel 方法并在运行时安装。在作业参数中放置一个键“--additional-python-modules”并在值中放置“openpyxl,pandas”。
在我的胶水脚本(Spark 3.1、Python 3、Glue 3)中,我正在尝试使用 pandas 库中的 df.to_excel()
函数。显然 pandas 库依赖于 openpyxl
。我的代码是:
import sys
import boto3
import openpyxl
import pandas as pd
client = boto3.client('s3')
obj = client.get_object(Bucket = 'myBucketName', Key = 'myFileName.csv')
df = pd.read_csv(obj['Body'])
df.to_excel("output.xlsx", sheet_name='my-sheet-name')
我遇到的问题是出现错误:ModuleNotFoundError: No module named 'openpyxl'
我在下面找到解释如何添加外部 python 库的链接:
https://docs.aws.amazon.com/glue/latest/dg/add-job-python.html#create-python-extra-library
显然我做错了什么,因为它对我不起作用。我的步骤是:
在本地创建 setup.py 文件:
从设置工具导入设置
设置( 名称=“openpyxl”, 版本=“3.0.7”, install_requires=['openpyxl'] )
在我的本地目录
py setup.py develop
执行(我在Windows,我的python版本是3.9.7)在我的本地目录下执行
py setup.py bdist_egg
将文件
../dist/openpyxl-3.0.7-py3.9.egg
复制到我的 s3 存储桶中在我的胶水作业中,我将文件位置放在
Python library path
我做错了什么?我错过了什么?
提前致谢!
在较新版本的 glue 中,您可以跳过 egg/wheel 方法并在运行时安装。在作业参数中放置一个键“--additional-python-modules”并在值中放置“openpyxl,pandas”。