As someone trying to learn the ins and outs of Python (with emphasis on scientific computing - ie: pandas, numpy, scikit-learn), most of the gurus out there seem to recommend and use iPython notebooks. My biggest sticking point as a beginner/intermediate coder is that I NEED code completion / intellisense -like functionality from an IDE to learn the function parameters. I'm not hard-wired yet to just know what parameters are available at my current development.
In iPython, I noticed I can press Tab
to show the drop-down of options (seen below as pd.) but I don't want to have to hit each time. That's not user-friendly for my needs. Instead, I would like it to show only available classes and methods when I press dot.
Secondly, I notice that if I did say pd.read_csv(<TAB>
, I get a lot more options than are the actual parameters in read_csv
.
Question: Can iPython automatically show accurate code completion options instantly after pressing dot / period? Also, is there a way to configure it to only show the available function parameters when within a function?
To make this question super-specific, I'm not asking about using any other IDE; I'm asking very specifically in regards to just iPython and wondering if there's a way to set some kind of configuration to achieve accurate "dot" display options instantly when pressing "dot" (no time delay).
Example below shows Desktop
which is obviously not a parameter of pd.read_csv()
.
Almost 3 years later, I've finally come across a potential solution.
Answer: Install nbextensions and enable the Hinterland extension.
Here's what you do:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter notebook
(browser launches)Hinterland has some adjustable options like:
You can press
<Shift>-<Tab>
to get a tooltip showing the function's signature:Alternatively, invoking
zip?
opens a documentation pane at the bottom of the window.As far as having the tooltip open automatically, I'm unsure. I'd guess that it isn't possible via configuration.
If you are using Jupyter notebook and your Intellisense is not working then type below and give a press TAB after (.)
%config IPCompleter.greedy=True
it will work for you as well.