我在python中处理NLP。有一个NLP工具即Zemberek用于土耳其语。但它是用java编写的。所以我必须使用jython来导入这些类。我安装了jython 2.7。另外,我安装了Eclipse Mars作为Java的IDE。在Internet上,我发现以下链接在IDE中使用Jython。我按照链接中的说明安装了PyDev并正确配置了它。
http://www.jython.org/jythonbook/en/1.0/JythonIDE.html
import sys
import os
import java.lang.System.out
import java.util.Arrays
import java.util.List
zembereksourcedir = ?
sys.path.append(zembereksourcedir +'/jar/zemberek-tr-2.1.1.jar')
sys.path.append(zembereksourcedir +'/jar/zemberek-cekirdek-2.1.1.jar')
from net.zemberek.erisim import Zemberek
from net.zemberek.tr.yapi import TurkiyeTurkcesi
zemberek = Zemberek(TurkiyeTurkcesi())
for st in ["ebeni","ırz"]:
kok = zemberek.kokBulucu().kokBul(st) # array(net.zemberek.yapi.Kok, [ev ISIM , evli ISIM ])
print str(list(kok))
k = str(list(kok)).split()[0][1:]
print k
我试图运行的代码如上所示。(可以在以下链接https://gist.github.com/ferayebend/5331379中找到)但问题是,即使我正确指定了路径,它也会出错。
ImportError: No module named Zemberek
我正确地应用了这些步骤以创建项目,这也在上面的链接中进行了解释。但我仍然无法解决问题。任何帮助将非常感激。
答案 0 :(得分:0)
不应将其添加到sys.path,而应将其添加为Jython Interpreter配置中的库(窗口>首选项> pydev>口译员> jython口译器>新jar / zip(s))或者如果它在项目的文件夹中,右键单击项目>属性> pydev - pythonpath>外部库>添加zip / jar / egg。
原因是只添加到sys.path不起作用,你还需要将这些jar添加到CLASSPATH中以便java / jython找到它(如果你在其中指定它,PyDev将为你做什么)正确的方式)。