You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Glue 1.0中安装非标准Python库praw与nltk?

解决AWS Glue 1.0 Python Shell安装praw和nltk的问题

方案1:正确配置--additional-python-modules(部分场景可行)

  • 需明确列出所有依赖包,用逗号分隔,避免因依赖缺失导致安装失败,示例参数值:
    praw==7.6.1,update-checker==0.18.0,websocket-client==1.5.1,nltk==3.8.1
  • 注意:如果Glue作业所在VPC无公网访问权限,需配置VPC端点访问PyPI或使用内部镜像源,否则该方案大概率失效,优先选择本地打包方案。

方案2:本地打包带全依赖的压缩包(最可靠)

步骤1:匹配Glue 1.0的Python环境

  • 基于Python 3.6创建虚拟环境,避免本地环境干扰:
    python3.6 -m venv glue-venv
    source glue-venv/bin/activate  # Linux/macOS
    # Windows系统执行:glue-venv\Scripts\activate
    

步骤2:安装目标库到本地目录

  • 用pip install指定安装目录,自动拉取所有依赖:
    pip install praw==7.6.1 nltk==3.8.1 -t ./glue-libs
    

步骤3:打包为zip文件(Glue原生支持,比.egg更简便)

  • 进入glue-libs目录,打包内部所有文件和子目录:
    cd glue-libs
    zip -r ../glue-deps.zip .
    
  • 注意:不要将glue-libs目录本身打包,确保压缩包内直接是库文件。

步骤4:上传并配置Glue作业

  • 将glue-deps.zip上传至你的S3存储桶,例如路径:s3://your-bucket/glue-deps/glue-deps.zip
  • 在Glue作业的作业参数中添加:
    • 参数名:--extra-py-files
    • 参数值:s3://your-bucket/glue-deps/glue-deps.zip
  • 保存作业后重新运行即可。

补充:nltk数据集的处理

若代码需要nltk的数据集(如punkt、stopwords),需额外操作:

  • 本地下载数据集:在虚拟环境中执行python -m nltk.downloader punkt stopwords
  • 找到本地nltk_data目录(通常在~/nltk_data或虚拟环境的share/nltk_data),将tokenizers/punkt和corpora/stopwords目录打包为nltk-data.zip
  • 上传该zip到S3,在--extra-py-files参数中追加路径,用逗号分隔:s3://your-bucket/glue-deps/glue-deps.zip,s3://your-bucket/glue-deps/nltk-data.zip
  • 在代码中设置nltk数据路径:
    import nltk
    import os
    nltk.data.path.append(os.path.join(os.environ['SPARK_HOME'], 'python', 'lib', 'nltk_data'))
    

关于.egg文件的说明

.egg是较旧的Python打包格式,现在更推荐用zip。若坚持用.egg,步骤如下:

  • 安装setuptools:pip install setuptools
  • 在glue-libs目录下创建setup.py:
    from setuptools import setup, find_packages
    
    setup(
        name='glue-deps',
        version='1.0',
        packages=find_packages(),
        include_package_data=True,
    )
    
  • 执行python setup.py bdist_egg,生成的.egg文件在dist/目录下,上传到S3后同样用--extra-py-files参数指定即可。

内容的提问来源于stack exchange,提问作者AKhanSJR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:10:36