Утенок, аргумент 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 также можно.