토네이도 이벤트 루프를 사용하는 응용 프로그램에서 prompt_toolkit을 사용하려고하는데 정확한 방법을 사용하여 prompt_toolkit 프롬프트를 이벤트 루프에 추가 할 수 없습니다.토네이도 이벤트 루프에서 prompt_toolkit을 어떻게 호출 할 수 있습니까?
from prompt_toolkit.shortcuts import prompt_async
async def my_coroutine():
while True:
result = await prompt_async('Say something: ', patch_stdout=True)
print('You said: %s' % result)
나는 asyncio 이벤트 루프에서이 작동하도록 관리해야 :
import asyncio
l = asyncio.get_event_loop()
l.create_task(my_coroutine())
l.run_forever()
Say something: Hello
You said: Hello
는 그러나, 나는이를
prompt_toolkit 문서는 asyncio에서 사용의 예 (Asyncio Docs)가 토네이도 이벤트 루프에서 작동하지 못했습니다. 나는 다음을 시도했다 :
이것은 초기 프롬프트를 표시하지만 콘솔을 차단하는 것으로 나타난다.
나는 또한 시도 :
IOLoop.current().add_callback(my_coroutine)
IOLoop.current().start()
이 같은 일을뿐만 아니라 오류 메시지가 생성됩니다
RuntimeWarning: coroutine 'my_coroutine' was never awaited
를 내가 시도 :
IOLoop.current().spawn_callback(my_coroutine)
IOLoop.current().start()
내가 분명히 여기서 뭔가 이해하지 못한다.
누구에게 어떻게해야하는지 알려줄 수 있습니까?
저는 Python 3.5.0, tornado 4.3을 사용하고 있습니다.