Утенок, аргумент int() должен быть строкой, байтовым объектом или числом, а не java.lang.String,

Я хочу использовать утенок для извлечения временной сущности из любой строки.

Я пытаюсь использовать базовый код для использования утенка.

from duckling import DucklingWrapper
d = DucklingWrapper()
print(d.parse_time(u'Let\'s meet at 11:45am'))

Для этого я получаю следующую ошибку. Аргумент int() должен быть строкой, байтовым объектом или числом, а не java.lang.String.

может ли кто-нибудь помочь мне с этим?

2 ответа

Это проблема несовместимости между утёнком и Jpype.

Это сработало для меня:

pip install --force-reinstall JPype1==0.6.3

Краткий ответ: установите версию jpype ниже 0,8. т.е. pip install Jpype1==0.7.5

Более длинный ответ: это связано с одной из зависимостей Duckling JPype. Если вы погрузитесь в код, вы увидите, что при запуске JVM с использованием JPype необходимо передать аргумент convertStrings. До V0.8 этот аргумент по умолчанию был установлен на "истина", но после этого он был переключен на "ложь". Это должно быть легко исправить в Duckling, если вы можете изменить код пакета. Если нет, то понизить версию Jpype также можно.

Ссылка: https://jpype.readthedocs.io/en/latest/api.html

Другие вопросы по тегам