:: python

python :: duckling, jpype 에러 해결 (TypeError: Parser must be a string or character stream, not java.lang.String)

토람이 2022. 4. 8. 08:45

Duckling 라이브러리를 사용하여 텍스트를 처리하던 중 다음과 같은 에러가 발생했다.

TypeError: Parser must be a string or character stream, not java.lang.String

 

왜 에러 메시지에 java.lang.String 이 있는가 하면,

Duckling 이 java 기반의 라이브러리라서 그렇다.

 

자바기반의 라이브러리를 파이썬 프레임워크에서 사용하기 위해

'JPype' 라는 패키지가 필요한데,

위 에러는 바로 이 JPype 와 관련된 에러다.

 

좀 더 정확히는, JPype 버전이 맞지 않아 발생하는 에러다.

 

해결법은 간단하다.

jpype 를 0.8 미만의 버전으로 다운그레이드 시켜주면 된다.

pip install Jpype1==0.7.5

예를 들어 위와 같이 0.7.5 버전으로 재설치해주면 에러 없이 잘 동작한다. :)

300x250