簡體   English   中英

小鴨,int() 參數必須是一個字符串,一個類似字節的 object 或一個數字,而不是 'java.lang.String',

[英]Duckling, int() argument must be a string, a bytes-like object or a number, not 'java.lang.String',

我想使用小鴨從任何字符串中提取時間實體。

我正在嘗試使用基本代碼來使用小鴨。

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

為此,我收到以下錯誤。 int() 參數必須是字符串、類似字節的 object 或數字,而不是 'java.lang.String'

誰能幫我解決這個問題?

簡短回答:強制您的 jpype 版本低於 0.8。 即pip安裝Jpype1==0.7.5

更長的答案:這是由於 Duckling 的依賴之一 JPype。 如果深入研究代碼,您會發現在使用 JPype 啟動 JVM 時,需要傳遞參數“convertStrings”。 在 V0.8 之前,此參數默認設置為“true”,但之后切換為“false”。 如果您可以修改 package 代碼,這應該是 Duckling 中的一個簡單修復。 如果沒有,那么降級你的 Jpype 版本也可以。

參考: https://jpype.readthedocs.io/en/latest/api.html

這是duckling和Jpype的不兼容問題。

這對我有用:

pip install --force-reinstall JPype1==0.6.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM