What are the limitations of IPython Notebook?
-
-
Answer:
Inter-cell dependenciesUsually, you want a notebook to form a logical progression from beginning to end. But when you're working interactively, you may execute cells out of order or change values without re-running cells that depend on them. At that point, the notebook you see is displaying results that may not be what you would get if you executed all the cells in order. The notebook doesn't even try to track that, so it has no way of telling you. (If you're lucky, you may notice that the cell numbering is not sequential.) But a surprise awaits if you later try to reproduce the work. SharingYou can publish a static notebook and, thanks to the incredibly useful nbviewer, anybody can look at it. But a live notebook doesn't offer any way to share; you're pretty much stuck with one-way screen sharing if you want to collaborate. Very Large OutputThe notebook can send large output results, which may tax your browser. DocumentationI was going to complain here about not being able to add custom rendering to existing classes, but it turns out that is possible (http://blog.safaribooksonline.com/2014/02/11/altering-display-existing-classes-ipython/), it's just not documented very well. So, I'll call the documentation problem a limitation, that it isn't always easy to find the information you're looking for.
Joe Pallas at Quora Visit the source
Other answers
These answers came out of a discussion with a collaborator on the use of IPython notebook. As much as I love IPython notebook and I use it for almost all my (data science projects), there are still limitations:No native code session save Python variables that you have computed using the notebook are lost once you quit. This may be a limitation of the Python language itself, not IPython notebook. I had a conversation with Fernando Perez, the creator of IPython notebook. I asked him about how to save data to be restored like an R-session / Matlab session or so,he said there is no .rda / .Rhistory equivalent. He said the only way is to save data / code object is to do it with .json since Pickle .pkl object is unsecure and can allow malicious code attacks.Unnatural keyboard shortcutsNothing compares to the full set of vim key shortcut bindings in my highly biased opinion. No syntax debuggerBut IPython Notebook is not an IDE.Code cell allows lines that are too long and has no wrapping / autoindentI like to obey Python PEP8 style guide with 79 characters as the maximium line length. If there are lines that are much longer than 79 characters, the code design is probably too complicated and the line will be hard to debug.Native matplotlib plot size is unreasonably smallThis may be a problem with matplotlib though.Matplotlib plots are not displayed inside the notebook automaticallyI need to add %matplotlib inlinefor the plots to be displayed inside the notebook or add it to some config. file of IPython notebook somewhere. No easy drag and rearrange code cells e.g. no mass selection of cells for rearranging positions of cells.No table of content to show where html headers areThis makes notebook seem unorganized, also make navigating the notebook difficult.There may be a https://github.com/ipython-contrib/IPython-notebook-extensions/wiki somewhere for this but you have to install it.No easy hiding of code cells / code outputNo way to replace strings universallyAgain I am comparing it to how vim can do regex match patterns and replace text using regexNo autocompletion of repetitive syntax Comparing to how modern IDEs can autocomplete a the boilerplate layout of a function / class. IPython notebook's autocomplete function would come short, e.g. when you type def the rest of the function structure would be autocompleted for an IDE.No auto-update of imported modulesIf you are debugging a module, and you change an imported function, it is not automatically updated for you after have saved the changed module function.You have to do the following for the function definition to be updated properly.%load_ext autoreload %autoreload 2I can list almost the same number of cool things or more about IPython notebooks but it is outside of the scope of this post.
Karen Ng
Related Q & A:
- What are the limitations to the endangered species act?Best solution by Yahoo! Answers
- What are limitations of using a gas chromatograph/mass spectrometer when testing athletes for drugs?Best solution by Yahoo! Answers
- What are the Limitations of Taxation?
- What is the difference between a laptop and a notebook.?Best solution by Yahoo! Answers
- What are the limitations of the null hypothesis?Best solution by answers.yahoo.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.