Exception in script in ~/.ipython/profile_default/startup causes other scripts to not execute
- Linguagem predominante
- Python
- Estrelas
- 734
- Forks
- 412
- Merge médio
- 1d 5h
- PRs com merge (30d)
- 8
Descrição
# 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
```
2. 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`).
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.