Windows and Python 3.8: IOPubThread, add_reader, NotImplementedError
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- jupyter-notebook, python
- Domaine
- backend, operating-systems, testing-qa
Piste de recherche
Commencez par adaptive/tests/test_notebook_integration.py et reproduisez test_private_api_used_in_live_info sous Windows avec Python 3.8. Suivez IOPubThread à travers ZMQStream jusqu’à la plateforme asyncio de Tornado et à l’appel à ProactorEventLoop.add_reader. C’est terminé lorsque le test ne lève plus NotImplementedError dans l’environnement signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
On Adaptive's CI we are executing the following
ctx = zmq.Context()
iopub_socket = ctx.socket(zmq.PUB)
iopub_thread = ipykernel.iostream.IOPubThread(iopub_socket)
On 'vs2017-win2016' and 'windows-latest' at Python 3.8, I consistently get the following traceback:
2019-12-17T18:23:09.1315754Z ================================== FAILURES ===================================
2019-12-17T18:23:09.1320349Z _____________________ test_private_api_used_in_live_info ______________________
2019-12-17T18:23:09.1320805Z
2019-12-17T18:23:09.1321185Z @pytest.mark.skipif(
2019-12-17T18:23:09.1321672Z not with_notebook_dependencies, reason="notebook dependencies are not installed"
2019-12-17T18:23:09.1322112Z )
2019-12-17T18:23:09.1322491Z def test_private_api_used_in_live_info():
2019-12-17T18:23:09.1322903Z """We are catching all errors in
2019-12-17T18:23:09.1323407Z adaptive.notebook_integration.should_update
2019-12-17T18:23:09.1323795Z so if ipykernel changed its API it would happen unnoticed."""
2019-12-17T18:23:09.1324215Z # XXX: find a potential better solution in
2019-12-17T18:23:09.1325254Z # https://github.com/ipython/ipykernel/issues/365
2019-12-17T18:23:09.1325873Z ctx = zmq.Context()
2019-12-17T18:23:09.1326384Z iopub_socket = ctx.socket(zmq.PUB)
2019-12-17T18:23:09.1326913Z > iopub_thread = ipykernel.iostream.IOPubThread(iopub_socket)
2019-12-17T18:23:09.1327444Z
2019-12-17T18:23:09.1327922Z adaptive\tests\test_notebook_integration.py:23:
2019-12-17T18:23:09.1328544Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2019-12-17T18:23:09.1329549Z .tox\py38-alldeps\lib\site-packages\ipykernel\iostream.py:71: in __init__
2019-12-17T18:23:09.1330309Z self._setup_event_pipe()
2019-12-17T18:23:09.1330692Z .tox\py38-alldeps\lib\site-packages\ipykernel\iostream.py:90: in _setup_event_pipe
2019-12-17T18:23:09.1331234Z self._event_puller = ZMQStream(pipe_in, self.io_loop)
2019-12-17T18:23:09.1331675Z .tox\py38-alldeps\lib\site-packages\zmq\eventloop\zmqstream.py:127: in __init__
2019-12-17T18:23:09.1332057Z self._init_io_state()
2019-12-17T18:23:09.1332770Z .tox\py38-alldeps\lib\site-packages\zmq\eventloop\zmqstream.py:546: in _init_io_state
2019-12-17T18:23:09.1333540Z self.io_loop.add_handler(self.socket, self._handle_events, self.io_loop.READ)
2019-12-17T18:23:09.1334063Z .tox\py38-alldeps\lib\site-packages\tornado\platform\asyncio.py:99: in add_handler
2019-12-17T18:23:09.1334344Z self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
2019-12-17T18:23:09.1335392Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2019-12-17T18:23:09.1335837Z
2019-12-17T18:23:09.1336534Z self = <ProactorEventLoop running=False closed=False debug=False>, fd = 2676
2019-12-17T18:23:09.1337114Z callback = <bound method BaseAsyncIOLoop._handle_events of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x000001C14F5552B0>>
2019-12-17T18:23:09.1337654Z args = (2676, 1)
2019-12-17T18:23:09.1338072Z
2019-12-17T18:23:09.1338756Z def add_reader(self, fd, callback, *args):
2019-12-17T18:23:09.1339186Z > raise NotImplementedError
2019-12-17T18:23:09.1339745Z E NotImplementedError
See this build.
I have no idea why this happens. Is this a bug? Or are some dependencies perhaps broken?
- Langage dominant
- Python
- Étoiles
- 734
- Forks
- 411
- Merge moyen
- 1 j 2 h
- PR mergées (30 j)
- 9
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ipython/ipykernel
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
-
ipython/ipykernel#1550 · 1 commentaire · 1 réaction · 1 personne assignée ·
Toutes les issues de ipython/ipykernel
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
tech debt
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
qualcomm/qai-appbuilder#275 ·