5 ms·
I don't even like it for initial experimentation and exploration. Much prefer the command line repl (the jupyter/ipython one). Faster feedback and easier naviga
by daveguy 8y ago
I don't even like it for initial experimentation and exploration. Much prefer the command line repl (the jupyter/ipython one). Faster feedback and easier navigation then you can just export the history when you're ready to capture and make permanent some workflow. It still requires going through and picking out the important bits, but reading the history like a story of commands is generally enough to pick out the important parts.
The only thing I would use notebooks for is demonstration / teaching.
- cdancette 8y agoIf you work with image processing, notebooks are very handy as they can display images directly. Also to display tables nicely with pandas, or for any data visualization actually.
- bunderbunder 8y agoThat's my problem. I agree that notebooks create a troublesome dev situation, but "%matplotlib inline" and stuff like the pivot table plugin keep me crawling back.
- srean 8y agoDoesn't IPython repl running in a QTconsole terminal do that ?
- cdancette 8y agoYeah but it's less nice, and if you're running on a distant server you have to deal with X forwarding
- kovek 8y agoWill the REPL allow you to easily edit function definitions and then reinterpret them?
- rspeer 8y agoI mean Jupyter doesn't really do that either, right? You can't edit most function definitions. Only ones that you've defined right there in the notebook, and only because you can run the cell that defines them again, overwriting the function. But if you do use libraries instead of just a huge mess of notebooks, you're stuck if you want to change the code in a well-supported way. You can ask your notebook to monkey-patch the code (which is an even bigger mess), or you can use an unreliable magic extension, "%autoreload".
- sstanie 8y agoYep, in the ipython REPL if you do %load_ext autoreload autoreload 2 it'll reload functions from any module you edit each time you run a new command.