आप पहले से ही loop.close()
कहा जाता है इससे पहले कि आप कोड की है कि नमूने टुकड़ा भाग गया, वैश्विक घटना पाश पर:
>>> import asyncio
>>> asyncio.get_event_loop().close()
>>> asyncio.get_event_loop().is_closed()
True
>>> asyncio.get_event_loop().run_until_complete(asyncio.sleep(1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/.../lib/python3.6/asyncio/base_events.py", line 443, in run_until_complete
self._check_closed()
File "/.../lib/python3.6/asyncio/base_events.py", line 357, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
आप एक नई पाश बनाने की जरूरत:
loop = asyncio.new_event_loop()
आप कर सकते हैं सेट करें कि नए ग्लोबल लूप के साथ:
asyncio.set_event_loop(asyncio.new_event_loop())
और उसके बाद बस asyncio.get_event_loop()
का उपयोग करें।
वैकल्पिक रूप से, बस अपने पायथन दुभाषिया को पुनरारंभ करें, पहली बार जब आप वैश्विक ईवेंट लूप प्राप्त करने का प्रयास करते हैं तो आपको एक नया नया, अनजान मिलता है।
स्रोत
2017-08-09 21:24:42