Ошибка импорта модуля с японским токенизатором
Я пытаюсь заставить 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 пытается импортировать модуль Jumanpp из pyknp. Я посмотрел пакет pyknp, установленный в настоящее время на моей машине, и у него нет модуля с таким именем. Это приводит меня к выводу, что установленная мной версия pyknp несовместима с Jumanpp, поэтому где-то должна быть доступна другая версия. Проблема в том, что я устанавливаю pyknp с помощью установщика pip на моем Mac, как рекомендуется на официальном сайте pyknp, поэтому это должна быть самая последняя версия. Я не уверен, как получить альтернативную версию, которая содержит необходимый модуль. Я надеюсь, что кто-то может указать мне правильное направление.
2 ответа
Я был в прямом контакте с разработчиком JapaneseTokenizer, который любезно дал мне разрешение опубликовать его ответ на мой запрос:
Я рад, что вы отправили мне сообщение о проблеме. Я прочитал ваш пост в Stackru. Как предположил другой пользователь, основная проблема заключается в том, что пакет 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
- установите пикнп =0,3 с
pip install pyknp-0.3.tar.gz
С этого момента я пересматриваю пакет JapaneseTokenizer. Это может занять несколько недель. В следующий раз, когда вы попытаетесь установить пакет JapaneseTokenizer, все будет хорошо. Опять же, спасибо, что дали мне сообщение.
Лучший,
Кенсуке Мицудзава
Я разработчик пакета. Благодарю за использование моего пакета.
Я исправил ошибки, связанные с этими проблемами, и выпустил более новую версию пакета 1.4. https://github.com/Kensuke-Mitsuzawa/JapaneseTokenizers/releases/tag/1.4
Вы также можете установить / обновить пакет с помощью pip.
устанавливать pip install JapaneseTokenizer
/ Обновить pip install -U JapaneseTokenizer