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

Azure运行4个月的PySpark管道突发报错:No module named 'org.apache.commons'

解决方案:tabula-py 报 ModuleNotFoundError: No module named 'org.apache.commons'

这个错误本质是tabula-py依赖的JPype1无法正确绑定Java类库,大概率是Azure环境中依赖包更新、损坏或Java环境变动导致的,以下是可行的解决步骤:

  • 重新安装指定版本的依赖包
    环境自动更新的兼容包可能出现适配问题,强制安装稳定兼容版本:

    1. 卸载现有冲突包:
      pip uninstall -y tabula-py JPype1
      
    2. 安装适配Python3.8的稳定版本:
      pip install tabula-py==2.7.0 JPype1==1.4.1
      

    注意:Azure集群需将安装命令加入初始化脚本,避免每次重启环境重置。

  • 检查并修复Java环境
    tabula-py要求Java 8及以上版本,执行以下命令确认环境:

    java -version
    

    若版本不符或JAVA_HOME未正确设置,需在集群配置中指定Java路径,例如:

    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 清理缓存并重启环境

    1. 清理pip缓存,避免损坏的包残留:
      pip cache purge
      
    2. 重启Azure数据管道的集群实例,确保环境加载最新配置。
  • 备选:指定Java路径调用
    若上述方法无效,可在代码中强制指定Java路径:

    import os
    os.environ['JAVA_HOME'] = '/path/to/your/java'  # 替换为实际Java路径
    from tabula.io import read_pdf
    from io import BytesIO
    
    df = tabula.io.read_pdf(BytesIO(pdf_content), pandas_options={'header': None}, pages=3, stream=True)[0]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:32:12