Exception in script in ~/.ipython/profile_default/startup causes other scripts to not execute

Ouverte
#1,158 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
jupyter-notebook, python
Domaine
backend

Piste de recherche

Reproduisez l’échec avec ~/.ipython/profile_default/startup/a.py et b.py, puis suivez le point d’entrée de l’exécution des scripts de démarrage du kernel. Vérifiez le comportement dans un Jupyter notebook : les scripts suivants devraient continuer à s’exécuter après une exception antérieure, et le script ayant échoué devrait produire une indication de l’erreur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

If one of the files in your ~/.ipython/profile_default/startup throws an exception, then any other file that executes later (i.e. is lexicographically higher, because startup scripts are executed in lexicographical order) will not be executed.

To reproduce

  1. Run these commands:
echo 'raise Exception' > ~/.ipython/profile_default/startup/a.py
echo 'x = 123' > ~/.ipython/profile_default/startup/b.py
  1. Open a Jupyter notebook, type x into a cell, and press enter

Expected behavior

It outputs 123. Ideally it also shows some information indicating that a.py failed to run.

Actual behavior

It shows NameError: name 'x' is not defined. It also doesn't give any indication that a.py (or b.py) failed to run.

System configuration

Kernel version:

Python 3.11.6 (main, Oct  2 2023, 20:46:14) [Clang 14.0.3 (clang-1403.0.22.14.1)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.16.1 -- An enhanced Interactive Python. Type '?' for help.

Python packages:

$ python3 -m pip show ipykernel | grep Version
Version: 6.25.2

OS version: macOS 13.3.1

Notes

If you run

mv ~/.ipython/profile_default/startup/{a,c}.py

then it will successfully define x (because b.py runs before c.py).

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ipython/ipykernel

Toutes les issues de ipython/ipykernel

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.