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

DKPro Core在Debian Jessie的Jython环境无法运行:缺失requests模块求助

解决Jython环境下DKPro Core运行时的requests模块缺失问题

我之前也碰到过Jython环境里依赖兼容的坑,你遇到的ImportError: No module named requests根本不是普通Python的问题——毕竟Jython是跑在JVM上的,标准CPython的requests包没法直接用。下面给你几个可行的解决方案,按优先级尝试:

1. 用Jython专属的pip安装适配版本的requests

Jython自带了适配JVM的pip工具,别用系统的pip或者apt-get装,那都是给CPython用的。步骤如下:

  • 先确认Jython的pip是否可用:
    jython -m pip --version
    
  • 如果提示没有pip,先安装Jython的pip:
    jython -m ensurepip
    
  • 安装兼容Jython的旧版requests(新版本requests已经放弃对Jython的支持了):
    jython -m pip install requests==2.19.1
    

2. 手动添加requests的JAR包到Jython类路径

如果上面的pip安装失败,可以手动打包或下载适配Jython的requests JAR包:

  • 下载requests 2.19.1的源码,用Jython打包成JAR:
    wget https://github.com/psf/requests/archive/refs/tags/v2.19.1.tar.gz
    tar -xzf v2.19.1.tar.gz
    cd requests-2.19.1
    jython setup.py bdist_jar
    
  • 把生成的dist/requests-2.19.1.jar复制到Jython的Lib/site-packages目录,或者运行脚本时指定类路径:
    jython -cp /path/to/requests-2.19.1.jar pipeline.jy
    

3. 绕开jip的远程下载,手动部署依赖

既然错误是jip下载POM时需要requests,那我们可以提前把DKPro Core的依赖放到本地Maven仓库,让jip不用远程请求:

  • 手动下载de.tudarmstadt.ukp.dkpro.core.opennlp-asl-1.6.2.pom和对应的JAR包
  • 把它们放到本地Maven仓库的对应路径:
    ~/.m2/repository/de/tudarmstadt/ukp/dkpro/core/de.tudarmstadt.ukp.dkpro.core.opennlp-asl/1.6.2/
    
  • 再运行你的脚本,jip会优先读取本地仓库的文件,不需要调用requests去远程下载

另外提醒一句:Debian Jessie自带的Jython版本可能比较老,建议升级到Jython 2.7.2(最新稳定版),旧版本对Python库的兼容性会差很多,这也可能是你遇到问题的潜在原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:36:01