Mycroft-core: pyee ์˜ค๋ฅ˜ | ์˜ˆ์™ธ ํ˜ธ์ถœ ์ฝœ๋ฐฑ<future at="" state="finished" raised="" keyerror=""/>

์— ๋งŒ๋“  2020๋…„ 09์›” 16์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: MycroftAI/mycroft-core

Mycroft ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ด์Šˆ๋ฅผ ์ œ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•

Mycroft ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ๋•Œ ๋‹ค์Œ ์ง€์นจ์— ๋”ฐ๋ผ ๋„์›€์„ ๋ฐ›์œผ์‹ญ์‹œ์˜ค.

์‹คํ–‰์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด, ํ•˜๋“œ์›จ์–ด ๋ฐ ๋ฒ„์ „์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด :

  • ์ €๋Š” Picroft๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค
  • ์ตœ์‹  ๋ฒ„์ „
  • ํ‘œ์ค€ Wake Word ์‚ฌ์šฉ

๋ฌธ์ œ๋ฅผ ๋ณต์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด :

  1. mycroft cli ์—ด๊ธฐ
  2. ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค (์•ฝ 30 ์ดˆ๋งˆ๋‹ค์˜ต๋‹ˆ๋‹ค)

์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋กœ๊ทธ ํŒŒ์ผ ๋˜๋Š” ๊ธฐํƒ€ ์ถœ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

20:00:14.407 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d7b10 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0xb2e8fd90>> 20:00:14.408 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d79d0 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0x7514b7b0>>

image

hard Bug - complex help wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด ์ด๋ก ์  ๊ด€์ฐฐ์— ๋Œ€ํ•œ ์ˆ˜์ •์ด pyee์— ๋ณ‘ํ•ฉ๋˜์–ด 8.1.0์œผ๋กœ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์™€ Adapt์—์„œ PR์„ ์ค€๋น„ํ•˜์—ฌ ๋ฒ„์ „์„ ๋™๊ธฐํ™”ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. :)

๋ชจ๋“  10 ๋Œ“๊ธ€

cli ๋ช…๋ น :log level debug ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋””๋ฒ„๊ทธ ํ•  ๋กœ๊ทธ ์ˆ˜์ค€์„ ์„ค์ •ํ•˜์—ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์— ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

wait_for_response() ๋˜๋Š” wait_for_message() ์—์„œ ์ด๋ฏธ ์ œ๊ฑฐ ๋œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•  ๋•Œ ํ‘œ์‹œ๋˜๋Š” ์˜ค๋ฅ˜์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Screen Capture_deepin-terminal_20200917141521
Screen Capture_deepin-terminal_20200917141536
Screen Capture_deepin-terminal_20200917141604

์  ์žฅ, ์Šคํฌ๋ฆฐ ์ƒท์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฝ๋Š”๋‹ค๋ฉด ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์–ด์ œ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ ๋” ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@forslund ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค : /

์—ฌ๊ธฐ์— ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๋˜๋Š” ์ผ๋ถ€ ๊ธฐ์ˆ ์ด "mycroft-messagebus-client"pip ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ฉด messagebus-client๊ฐ€ ์—ฌ์ „ํžˆ pyee == 5.0.1์„ ์‚ฌ์šฉ ์ค‘์ด๋ฏ€๋กœ pyee ๋ฒ„์ „ ์ถฉ๋Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/MycroftAI/mycroft-messagebus-client/pull/4

--user ์˜ต์…˜์œผ๋กœ ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๊ทธ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. Venv ๋‚ด์—์„œ๋„ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์€ pyee์— ๊ด€ํ•œ ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ExecutorEventEmitter ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ImportErrors๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (ํ…Œ์ŠคํŠธ ํ›„).

Ake์™€ ์ข€ ๋” ์กฐ์‚ฌํ•˜๊ณ  ์ฑ„ํŒ… ํ•œ ํ›„์—๋Š” ์ด๊ฒƒ์ด ์ด๋ฏธ ์ง€์›Œ์ง„ ์ด๋ฒคํŠธ์—์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํŒํ•˜๋ ค๋Š” MessageBusClient.emitter.once ๋ฉ”์„œ๋“œ ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ์ด๊ฒƒ์„ ํ™•์ธํ•ด์•ผํ•˜๋ฉฐ ์ฐธ์ด๋ผ๋ฉด ๋“ฑ๋ก ๋œ ๊ฐ ๊ธฐ๋Šฅ์ด ๊ณ ์œ ํ•œ์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ๊ณ  ๋“ฑ๋ก ๋œ ๊ฐ ๊ธฐ๋Šฅ์€ ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ๊ฐ€ ํฌ์ฐฉ๋˜๊ณ ๋ณด๊ณ  ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ์น˜๋ช…์ ์ด์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ํ…Œ์ŠคํŠธ๋Š” ๋ฌธ์ œ๊ฐ€ ์‹œ๊ฐ„ ์ดˆ๊ณผ (์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•จ)์™€ ์ฒ˜๋ฆฌ๊ธฐ์˜ ์ž๋™ ์ œ๊ฑฐ once ์‚ฌ์ด์˜ ๊ฒฝ์Ÿ ์กฐ๊ฑด์ด๋ผ๊ณ  ๋ฏฟ๊ฒŒํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ pyee์—๊ฒŒ ์—…์ŠคํŠธ๋ฆผ์œผ๋กœ๋ณด๊ณ ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

๋‚˜๋Š” ๋ฌด์ž‘์œ„๋กœ ์˜ค๋ฅ˜๋ฅผ ๋ณด์•˜๊ณ  mycroft์˜ ์ฝ”๋“œ์—์„œ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ์œ„์น˜๋ฅผ ์ •ํ™•ํžˆ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊น…์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ  ๊ณผ์ •์˜ ์–ด๋”˜๊ฐ€์— ...

๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ์—…์ŠคํŠธ๋ฆผ์— ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์ด๋ก ์  ๊ด€์ฐฐ์— ๋Œ€ํ•œ ์ˆ˜์ •์ด pyee์— ๋ณ‘ํ•ฉ๋˜์–ด 8.1.0์œผ๋กœ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์™€ Adapt์—์„œ PR์„ ์ค€๋น„ํ•˜์—ฌ ๋ฒ„์ „์„ ๋™๊ธฐํ™”ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰