本地部署AWS Glue 3.0报No module named 'awsglue'错误求助
问题排查&解决步骤
1. 确认glue-setup.sh的生效方式
如果是直接执行./glue-setup.sh而没有用source命令,脚本配置的PYTHONPATH等环境变量只会在脚本运行的子shell进程生效,当前运行Python代码的终端环境无法拿到配置,这是最常见的诱因。
正确执行方式是进入aws-glue-libs的bin目录后运行:
source glue-setup.sh # 或等效写法 . glue-setup.sh
运行后执行echo $PYTHONPATH检查输出,正常应该包含aws-glue-libs下的PyGlue目录路径。
2. 手动补全PYTHONPATH环境变量
如果source之后仍然无效,直接手动把awsglue所在的路径加入PYTHONPATH,你的WSL环境内对应Linux绝对路径配置命令如下:
export PYTHONPATH="${PYTHONPATH}:/home/my_user/aws_ds/glue_libs/aws-glue-libs/PyGlue"
注意不要用Windows格式的\\wsl$\路径,必须使用WSL内的Linux绝对路径,避免路径识别异常。
3. 验证awsglue模块加载
配置完成后直接在当前终端启动Python交互环境,执行:
import awsglue print(awsglue.__file__)
如果能正常输出模块路径就说明配置生效,要是仍然报错就检查对应路径下是否真的存在awsglue目录,确认aws-glue-libs安装包下载完整没有损坏。
4. 持久化环境变量
避免每次开终端都要重新配置,把上面的source命令或者export PYTHONPATH命令写入~/.bashrc(使用bash终端)或者~/.zshrc(使用zsh终端)文件,之后新启动的终端都会自动加载配置。
内容的提问来源于stack exchange,提问作者marcin2x4
相关产品推荐
相关产品推荐

