Использование IPython

IPython — это интерактивная оболочка для языка программирования Python которая предоставляет расширенную интроспекцию, дополнительный командный синтаксис, подсветку кода и автодополнение. Является компонентом пакета программ SciPy. Лицензия BSD.

IPython – это интерактивная оболочка для с широким набором возможностей и ядро для Jupyter. Jupyter notebook является графической веб-оболочкой для IPython, которая расширяет идею консольного подхода к интерактивным вычислениям.

IPython позволяет осуществлять non-blocking взаимодействие с Tkinter, GTK, qt and WX. Стандартная оболочка Python позволяет взаимодействие только с Tkinter. IPython может интерактивно управлять параллельными кластерами используя асинхронные статусы обратных вызовов и/или MPI. IPython может использоваться как замена стандартной командной оболочки операционной системы, особенно на платформе Windows, возможности оболочки которой ограничены. Поведение по умолчанию похоже на поведение оболочек UNIX подобных систем, но тот факт что работа происходит в окружении Python позволяет добиваться большей настраиваимости и гибкости.

Глобальные настройки IPython находятся в домашней директории пользователя (от имени которого запускается IPython) в файле ~/.ipython/ipythonrc . Чтобы каждый раз после входа в оболочку не заниматься её настройками под свои предпочтения, IPython поддерживает профили. Параметры профилей хранятся в каталоге .ipython в файлах ipythonrc-<имя_профиля>. Здесь можно задать вид приглашения командной строки, псевдонимы и прочие параметры. Запуск оболочки с поддержкой соответствующего профиля выполняется командой "ipython -p <имя_профиля">. Встроенный профиль sh (команда запуска ipython -p sh) запускает IPython с более удобным приглашением (отображающим текущий каталог), автоматически выполнит функцию %rehashx, активирует расширение envpersist (которое сохраняет изменения переменных окружения между сессиями).

  • lsmagic - выводит список "магических команд" IPython
       In [5]: lsmagic
    Available magic functions:
    %Exit  %Pprint  %Quit  %alias  %autocall  %autoindent  %automagic  %bg  %bookmark  %cd  %clear
    %color_info  %colors  %cpaste  %debug  %dhist  %dirs  %doctest_mode  %ed  %edit  %env  %exit  %hist 
    %history  %logoff  %logon  %logstart  %logstate  %logstop  %lsmagic  %macro  %magic  %p  %page 
    %pdb  %pdef  %pdoc  %pfile  %pinfo  %popd  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat 
    %quickref  %quit  %r  %rehash  %rehashx  %rep  %reset  %run  %runlog  %save  %sc  %store  %sx 
    %system_verbose  %time  %timeit  %unalias  %upgrade  %who  %who_ls  %whos  %xmode
    
    Automagic is ON, % prefix NOT needed for magic functions.
  • dhist (аналог shell команды history). Выводит список посещенных директорий. Чтобы перейти в каталог из списка в строке 2 нужно выполнить команду cd -2
    In [15]: dhist
    Directory history (kept in _dh)
    0: /var/log
    1: /var/log
    2: /etc/apache2
    3: /var/log
    
    In [16]: cd -2
    /etc/apache2
  • bookmark - создает "закладки" на часто посещаемые каталоги.
    In [17]: bookmark vlog /var/log
    
    In [18]: cd -b vlog
    (bookmark:vlog) -> /var/log
    /var/log
  • функции логирования
    logstate - проверяет текущее состояние логирования
    In [23]: logstate
    Logging has not been activated.
    
    logstart - Включает логирование. Лог сохраняется в текущей директории как исходный код Python.
    In [3]: logstart
    Activating auto-logging. Current session state plus future input saved.
    Filename       : ipython_log.py
    Mode           : rotate
    Output logging : False
    Raw input log  : False
    Timestamping   : False
    State          : active
PQ VPS сервера в 28+ странах.