Python 3.8 के साथ ज्यूपिटर नोटबुक - NotImplementedError


69

हाल ही में पायथन 3.8 में अपग्रेड किया गया, और स्थापित किया गया jupyter। हालाँकि, jupyter notebookनिम्न त्रुटि होने पर चलाने की कोशिश कर रहा है :

  File "c:\users\user\appdata\local\programs\python\python38\lib\site-packages\tornado\platform\asyncio.py", line 99, in add_handler
    self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
  File "c:\users\user\appdata\local\programs\python\python38\lib\asyncio\events.py", line 501, in add_reader
    raise NotImplementedError
NotImplementedError

मुझे पता है ProactorEventLoopकि डिफ़ॉल्ट रूप से स्विच की गई खिड़कियों पर पायथन 3.8 है , इसलिए मुझे संदेह है कि यह इसी से संबंधित है।

जुपिटर फिलहाल पायथन 3.8 का समर्थन नहीं करता है? क्या आसपास कोई काम है?


3
पायथन 3.8 बहुत ताज़ा है इसलिए बेहतर वापस 3.7 पर जाएं और कुछ समय प्रतीक्षा करें जब तक कि यह बेहतर परीक्षण नहीं होगा और मॉड्यूल विशेष रूप से 3.8 के लिए बनाए जाएंगे।
फरस


3
अभी भी 3.8.1 (आज जारी) में टूट गया।
रिक

1
यह अब ज्यूपिटर नोटबुक के संस्करण 6.0.3 में तय किया गया है। अपग्रेडpip install notebook --upgrade
drec4s

जवाबों:


178

संपादित करें

यह समस्या जुपिटर नोटबुक के पुराने संस्करणों में मौजूद है और संस्करण 6.0.3 (रिलीज़ 2020-01-21) में तय की गई थी । नवीनतम संस्करण चलाने के लिए अपग्रेड करने के लिए:

pip install notebook --upgrade

इस मुद्दे पर GitHub के माध्यम से, ऐसा लगता है कि समस्या उस tornadoसर्वर से संबंधित है जिसका ज्यूपिटर उपयोग करता है।

उन लोगों के लिए जो एक आधिकारिक फिक्स के लिए इंतजार नहीं कर सकते, मैं इसे tornado/platform/asyncio.pyजोड़कर फ़ाइल को संपादित करके काम करने में सक्षम था :

import sys

if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

मुख्य आयात के बाद।

मैं जल्द ही इसके लिए एक आधिकारिक सुधार की उम्मीद करता हूं।



9
यदि आप asyncio.py की तलाश कर रहे थे, तो "C: \ Python3 \ Lib \ site-package \ tornado \ platform" पर एक नज़र डालें
बेहनाम हैदरी

2
धन्यवाद! यदि आप एक कोंडा एनवी का उपयोग कर रहे हैं, तो एन्वा में संस्करण को बदलना सुनिश्चित करें और केवल वैश्विक ही नहीं। दूसरा, सुनिश्चित करें कि आप इस बदलाव को import asyncioकथन के बाद जोड़ते हैं :)
Omri374

1
इसने मेरे लिए इसे ठीक कर दिया। विशेष रूप से: 1. यदि आप चलाते हैं, तो आप स्टैक ट्रेस से फ़ाइल स्थान प्राप्त कर सकते हैं: jupyter -m नोटबुक 2. मेरे सिस्टम पर फ़ाइल यहाँ स्थित है: C: \ Users_NAME_ \ AppData \ Roaming \ Python \ Python39 'साइट-संकुल \ tornado \ platform \ asyncio.py
यशायाह

2
यह मेरे लिए जनवरी 2020, Python3.8 के लिए काम नहीं करता था, लेकिन मिर्ज़ ख़ान के जवाब में नीचे दिया गया
कृमि

32

2019 में उत्तर को संशोधित करना

फ़ाइल के अंत भाग को बदलें C:\Users\{USER-NAME}\AppData\Local\Programs\Python\Python38\Lib\asyncio\__init__.py

से

if sys.platform == 'win32':  # pragma: no cover
    from .windows_events import *
    __all__ += windows_events.__all__
else:
    from .unix_events import *  # pragma: no cover
    __all__ += unix_events.__all__

सेवा

import asyncio

if sys.platform == 'win32':
    from .windows_events import *
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
    __all__ += windows_events.__all__
else:
    from .unix_events import *  # pragma: no cover
    __all__ += unix_events.__all__

1
प्रश्न और स्वीकृत उत्तर दोनों अक्टूबर 2019 से थे और समाधान ने मेरे लिए काम किया
सुंदरदीप

2
स्वीकृत जवाब मेरे काम नहीं आया। यह किया। धन्यवाद!
अभिषेक अग्रवाल

5
यह मेरे लिए काम करता है, जनवरी 2020, विंडोज पर पायथन
cryanbhu

5
मेरे लिए भी काम किया,
फूमाग

2
मैं पायथन के मानक पुस्तकालय स्रोत कोड को नहीं बदलूंगा।
मार्टिन पीटर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.