Ipython
TODO:
These docs are a mess, and highlight the wrong info. To be reorganized.
IPython is an interactive python shell, with all of the niceties that you
have come to expect from an actual shell.
- colours
- tab autocomplete
- auto-reload all before each run
- all of these features within a debugger
- readline support
ipython is a python module that is a CROSS-LANGUAGE interpreter. Config once, and use for python, haskell, and many others. Complete with tab completion, syntax highlighting etc. very cool.
Documentation
As of the move to IPython 5.0, the documentation is in the progress of being hosted on
Read The Docs
. IPython also incorporated some other projects, and their configuration is also independent of ipython's own.
http://python-prompt-toolkit.readthedocs.io/en/stable/ IPython5.0 readline replacement (see here for vi-style keys) http://ipython.readthedocs.io/en/stable/ IPython5.0 documentation https://ipython.org/ipython-doc/3/ Legacy IPython documentation https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages Other Lang Kernels (C#, Haskell, Julia,...)
Configuration
~/.pythonrc.py
python init file ~/.ipython/profile_default/ipython_config.py
ipython config ~/.ipython/<profile>/startup/
scripts in this folder are run on startup import IPython IPython.utils.path.get_ipython_dir() ## Find loaded profile %load_ext autoreload ## Autoreload all modules before each run %autoreload 2
Usage
cd /path/to/files ## ipython has basic shell capabilities run script.py ## run a script (even if not on pythonpath)vim editing mode
ipython --TerminalInteractiveShell.editing_mode=vi ## use editing-mode vi without an ipython configreadable colours on windows
If using cmder, use XTERM colourscheme. You can set highlighting_style to any pygments style.
python -m IPython \ --TerminalInteractiveShell.editing_mode=vi \ --TerminalInteractiveShell.highlighting_style=monokai
Logging
IPython initiates the logger before your programs are run, so all of the settings that you normally have set using
logging.basicConfig()
are ignored. You can modify them by usinglogging.root
, which accesses the root logger's options.logging.root.level = logging.DEBUG
CLI
I'm not sure why, but ipython does not create manpages. Nor do they host their CLI documentation on the web. (I have no idea why not...).
In order to get help from ipython:
ipython --help-all ## generic commands ipython help kernel ## information about specific subcommands
Kernel
There are kernels for other languages available to ipython.
ruby iruby ijava