我试图让JapaneseTokenizer在python中工作,但是我遇到了它所依赖的模块之一的麻烦。这是我得到的错误的踪迹:

/Users/home/PycharmProjects/SubLingo/application/tokenizerTest.py
    Traceback (most recent call last):
      File "/Users/home/PycharmProjects/SubLingo/application/tokenizerTest.py", line 1, in <module>
        import JapaneseTokenizer
      File "/Users/home/PycharmProjects/SubLingo/venv/lib/python3.7/site-packages/JapaneseTokenizer/__init__.py", line 6, in <module>
        from JapaneseTokenizer.jumanpp_wrapper import JumanppWrapper
      File "/Users/home/PycharmProjects/SubLingo/venv/lib/python3.7/site-packages/JapaneseTokenizer/jumanpp_wrapper/__init__.py", line 1, in <module>
        from .jumanpp_wrapper import JumanppWrapper
      File "/Users/home/PycharmProjects/SubLingo/venv/lib/python3.7/site-packages/JapaneseTokenizer/jumanpp_wrapper/jumanpp_wrapper.py", line 2, in <module>
        from pyknp import Jumanpp
    ImportError: cannot import name 'Jumanpp' from 'pyknp' (/Users/home/PycharmProjects/SubLingo/venv/lib/python3.7/site-packages/pyknp/__init__.py)


如您所见,Jumanpp_wrapper正在尝试从pyknp导入模块Jumanpp。我调查了当前安装在机器上的pyknp软件包,它没有使用该名称的模块。这使我得出结论,我安装的pyknp版本与Jumanpp不兼容,因此某个地方必须有另一个版本。问题是我按照pyknp官方网站上的建议,在Mac上使用pip安装程序安装了pyknp,因此它应该是最新版本。我不确定如何获取包含必要模块的替代版本。我希望有人能指出我正确的方向。

最佳答案

我一直与JapaneseTokenizer的开发人员直接联系,该开发人员已经允许我重新发布他对我查询的回答:

很高兴您发送给我有关此问题的消息。我在StackOverflow上阅读了您的文章。正如其他用户所建议的那样,主要问题是pyknp软件包没有juman ++模块。我不知道原因,但是pyknp软件包的作者删除了juman ++的模块。
解决此问题的直接方法是从此处安装pyknp软件包版本3并将其安装在您的环境中。
主要步骤如下。


从您的环境中删除pyknp软件包pip uninstall pyknp
获取pyknp软件包的早期版本。 http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://lotus.kuee.kyoto-u.ac.jp/nl-resource/pyknp/pyknp-0.3.tar.gz&name=pyknp-0.3.tar.gz
使用pip install pyknp-0.3.tar.gz安装pyknp = 0.3


从现在开始,我修改JapaneseTokenizer程序包。可能要花几个星期。下次尝试安装JapaneseTokenizer软件包时,一切都会好起来。
再次感谢您给我留言。

最好,

三泽宪介

10-07 20:23