bab2min / kiwipiepy

Python API for Kiwi
Other
288 stars 28 forks source link

파이썬으로 코딩후 실행파일로 만들면 에러가 납니다. #125

Closed breakoutson closed 1 year ago

breakoutson commented 1 year ago

konlpy는 알 수 없는 오류가 많고 느려서 불편했는데,

kiwipiepy는 아주 빠르고 군더더기 없고 유틸리티도 구비되어 있어서 좋습니다.

저는 이 모듈을 이용해 코딩을 한 다음 pyinstaller로 파일을 제작하려고 합니다.

하지만, 제작시 다음과 같은 에러를 만났는데 해결을 못하고 있습니다.

File "kiwipiepy_wrap.py", line 298, in init ModuleNotFoundError: No module named 'kiwipiepy_model'

모듈을 못찾는 것인가 하여 지정하여 포함시켰습니다.

pyinstaller --hidden-import kiwipiepy_model my_script.py

그랬더니 또 아래와 같은 에러가 났습니다.

Cannot open file : C:\Users\Azzcom\AppData\Local\Temp_MEI527882\kiwipiepy_model/extract.mdl

파이참 가상환경에서 실행해도 동일, 윈도우환경, 맥환경 모두 동일한 에러가 났고,

다른 분께도 여쭤보니 동일한 에러로 인해 컴파일이 안되고 있습니다.

pyinstaller spec파일 중 datas [ ] 위의 extract.mdl 파일을 추가해서 다시 실행해보아도 마찬가지인 상황입니다.

혹시 해결 방법이 있을까요?

bab2min commented 1 year ago

안녕하세요 @breakoutson, kiwipiepy를 잘 이용해주심에 감사합니다~ .

발생한 오류를 보니 kiwipiepy_model 의 모델 파일들이 누락되었나보네요. 다음과 같이하면 잘 작동합니다.

아래는 pyinstaller에서 사용할 example.py 코드입니다.

from kiwipiepy import Kiwi

kiwi = Kiwi()
while 1:
    text = input('>>')
    print(kiwi.tokenize(text))
pyinstaller --hidden-import numpy --hidden-import kiwipiepy_model --collect-data kiwipiepy_model example.py

collect-data 인자로 kiwipiepy_model의 데이터 파일을 포함하도록 해서 다시 시도해보시길 바랍니다.

breakoutson commented 1 year ago

감사합니다!! 말씀하신대로 해서 다시 시도했는데, File "kiwipiepy\utils.py", line 53, in _load_stopwords FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Azzcom\AppData\Local\Temp\_MEI520802\kiwipiepy/corpus/stopwords.txt'

이런 에러가 새롭게 발생했습니다. 아마 제 스크립트에서,

from kiwipiepy.utils import Stopwords token_list = stopwords.filter(kiwi.tokenize(text, normalize_coda=True, z_coda=True))

이부분에서 불용어를 제거하는 부분을 추가했기 때문인 것 같은데, 어떻게 추가해야 할지 모르겠습니다.

bab2min commented 1 year ago

아 그러면 --collect-data kiwipiepy도 추가해보시겠어요? 불용어 목록은 kiwipiepy 내의 데이터를 사용하기 때문에 이 부분도 추가되어야할듯합니다.

breakoutson commented 1 year ago

위 해결책으로 잘 해결되었습니다!!! 감사합니다. 그동안 KONLPY 에러 때문에 애먹었는데, kiwipiepy는 오류도 적고 더 빠르고 사용도 편리하고 아주 굿입니다.