Поиск по блогу

воскресенье, 13 апреля 2014 г.

Как использовать справку IPython

К середине четвертого месяца занятий у меня появилась потребности в том, чтобы систематизировать мои знания Python. Наверное, поэтому мне стало интересно искать в портянках справочников подробности тех или иных опций.
Потому здесь ссылки на страницы документации и распечатки "IPython help", "ipython help notebook", распечаток пары файлов README из недр C:.ipython

Access to the standard Python help

Simply type help() to access Python’s standard help system. You can also type help(object) for information about a given object, or help('keyword') for information on a keyword. You may need to configure your PYTHONDOCS environment variable for this feature to work correctly.
In []:
C:\Users\kiss\Anaconda>ipython -h
=========
 IPython
=========

Tools for Interactive Computing in Python
=========================================

    A Python shell with automatic history (input and output), dynamic object
    introspection, easier configuration, command completion, access to the
    system shell and more.  IPython can also be embedded in running programs.

Usage

    ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...

    If invoked with no options, it executes the file and exits, passing the
    remaining arguments to the script, just as if you had specified the same
    command with python. You may need to specify `--` before args to be passed
    to the script, to prevent IPython from attempting to parse them. If you
    specify the option `-i` before the filename, it will enter an interactive
    IPython session after running the script, rather than exiting. Files ending
    in .py will be treated as normal Python, but files ending in .ipy can
    contain special IPython syntax (magic commands, shell expansions, etc.).

    Almost all configuration in IPython is available via the command-line. Do
    `ipython --help-all` to see all available options.  For persistent
    configuration, look into your `ipython_config.py` configuration file for
    details.

    This file is typically installed in the `IPYTHONDIR` directory, and there
    is a separate configuration directory for each profile. The default profile
    directory will be located in $IPYTHONDIR/profile_default. For Linux users,
    IPYTHONDIR defaults to `$HOME/.config/ipython`, and for other Unix systems
    to `$HOME/.ipython`.  For Windows users, $HOME resolves to C:\Documents
    and Settings\YourUserName in most instances.

    To initialize a profile with the default configuration file, do::

      $> ipython profile create

    and start editing `IPYTHONDIR/profile_default/ipython_config.py`

    In IPython's documentation, we will refer to this directory as
    `IPYTHONDIR`, you can change its default location by creating an
    environment variable with this name and setting it to the desired path.

    For more information, see the manual available in HTML and PDF in your
    installation, or online at http://ipython.org/documentation.html.

Subcommands
-----------

Subcommands are launched as `ipython-script.py cmd [args]`. For information on
using subcommand 'cmd', do: `ipython-script.py cmd -h`.

locate
    print the path to the IPython dir
profile
    Create and manage IPython profiles.
console
    Launch the IPython terminal-based Console.
kernel
    Start a kernel without an attached frontend.
notebook
    Launch the IPython HTML Notebook Server.
nbconvert
    Convert notebooks to/from other formats.
qtconsole
    Launch the IPython Qt Console.
history
    Manage the IPython history database.

Options
-------

Arguments that take values are actually convenience aliases to full
Configurables, whose aliases are listed on the help line. For more information
on full configurables, see '--help-all'.

--no-autoindent
    Turn off autoindenting.
--autoedit-syntax
    Turn on auto editing of files with syntax errors.
--deep-reload
    Enable deep (recursive) reloading by default. IPython can use the
    deep_reload module which reloads changes in modules recursively (it
    replaces the reload() function, so you don't need to change anything to
    use it). deep_reload() forces a full reload of modules whose code may
    have changed, which the default reload() function does not.  When
    deep_reload is off, IPython will use the normal reload(), but
    deep_reload will still be available as dreload(). This feature is off
    by default [which means that you have both normal reload() and
    dreload()].
--confirm-exit
    Set to confirm when you try to exit IPython with an EOF (Control-D
    in Unix, Control-Z/Enter in Windows). By typing 'exit' or 'quit',
    you can force a direct exit without any confirmation.
--pylab
    Pre-load matplotlib and numpy for interactive use with
    the default matplotlib backend.
--matplotlib
    Configure matplotlib for interactive use with
    the default matplotlib backend.
--term-title
    Enable auto setting the terminal title.
--classic
    Gives IPython a similar feel to the classic Python prompt.
--autoindent
    Turn on autoindenting.
--no-automagic
    Turn off the auto calling of magic commands.
--banner
    Display a banner upon starting IPython.
--automagic
    Turn on the auto calling of magic commands. Type %%magic at the
    IPython  prompt  for  more information.
--no-deep-reload
    Disable deep (recursive) reloading by default.
--no-term-title
    Disable auto setting the terminal title.
--nosep
    Eliminate all spacing between prompts.
-i
    If running code from the command line, become interactive afterwards.
    Note: can also be given simply as '-i.'
--debug
    set log level to logging.DEBUG (maximize logging output)
--pprint
    Enable auto pretty printing of results.
--no-autoedit-syntax
    Turn off auto editing of files with syntax errors.
--quiet
    set log level to logging.CRITICAL (minimize logging output)
--no-color-info
    Disable using colors for info related things.
--color-info
    IPython can display information about objects via a set of func-
    tions, and optionally can use colors for this, syntax highlighting
    source code and various other elements.  However, because this
    information is passed through a pager (like 'less') and many pagers get
    confused with color codes, this option is off by default.  You can test
    it and turn it on permanently in your ipython_config.py file if it
    works for you.  Test it and turn it on permanently if it works with
    your system.  The magic function %%color_info allows you to toggle this
    interactively for testing.
--init
    Initialize profile with default config files.  This is equivalent
    to running `ipython profile create <profile>` prior to startup.
--no-pdb
    Disable auto calling the pdb debugger after every exception.
--quick
    Enable quick startup with no config files.
--no-confirm-exit
    Don't prompt the user when exiting.
--pydb
    Use the third party 'pydb' package as debugger, instead of pdb.
    Requires that pydb is installed.
--pdb
    Enable auto calling the pdb debugger after every exception.
--no-pprint
    Disable auto pretty printing of results.
--no-banner
    Don't display a banner upon starting IPython.
--profile=<Unicode> (BaseIPythonApplication.profile)
    Default: u'default'
    The IPython profile to use.
--pylab=<CaselessStrEnum> (InteractiveShellApp.pylab)
    Default: None
    Choices: ['auto', 'gtk', 'inline', 'osx', 'qt', 'qt4', 'tk', 'wx']
    Pre-load matplotlib and numpy for interactive use, selecting a particular
    matplotlib backend and loop integration.
--matplotlib=<CaselessStrEnum> (InteractiveShellApp.matplotlib)
    Default: None
    Choices: ['auto', 'gtk', 'inline', 'osx', 'qt', 'qt4', 'tk', 'wx']
    Configure matplotlib for interactive use with the default matplotlib
    backend.
--colors=<CaselessStrEnum> (InteractiveShell.colors)
    Default: 'Linux'
    Choices: ('NoColor', 'LightBG', 'Linux')
    Set the color scheme (NoColor, Linux, or LightBG).
--cache-size=<Integer> (InteractiveShell.cache_size)
    Default: 1000
    Set the size of the output cache.  The default is 1000, you can change it
    permanently in your config file.  Setting it to 0 completely disables the
    caching system, and the minimum value accepted is 20 (if you provide a value
    less than 20, it is reset to 0 and a warning is issued).  This limit is
    defined because otherwise you'll spend more time re-flushing a too small
    cache than working
--logfile=<Unicode> (InteractiveShell.logfile)
    Default: ''
    The name of the logfile to use.
--profile-dir=<Unicode> (ProfileDir.location)
    Default: u''
    Set the profile location directly. This overrides the logic used by the
    `profile` option.
-c <Unicode> (InteractiveShellApp.code_to_run)
    Default: ''
    Execute the given command string.
--autocall=<Enum> (InteractiveShell.autocall)
    Default: 0
    Choices: (0, 1, 2)
    Make IPython automatically call any callable object even if you didn't type
    explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
    The value can be '0' to disable the feature, '1' for 'smart' autocall, where
    it is not applied if there are no more arguments on the line, and '2' for
    'full' autocall, where all callable objects are automatically called (even
    if no arguments are present).
--ipython-dir=<Unicode> (BaseIPythonApplication.ipython_dir)
    Default: u'C:\\Users\\kiss\\.ipython'
    The name of the IPython directory. This directory is used for logging
    configuration (through profiles), history storage, etc. The default is
    usually $HOME/.ipython. This options can also be specified through the
    environment variable IPYTHONDIR.
--gui=<CaselessStrEnum> (InteractiveShellApp.gui)
    Default: None
    Choices: ('glut', 'gtk', 'gtk3', 'none', 'osx', 'pyglet', 'qt', 'qt4', 'tk', 'w
    Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3',
    'none', 'osx', 'pyglet', 'qt', 'qt4', 'tk', 'wx').
--logappend=<Unicode> (InteractiveShell.logappend)
    Default: ''
    Start logging to the given file in append mode.
-m <Unicode> (InteractiveShellApp.module_to_run)
    Default: ''
    Run the module as a script.
--log-level=<Enum> (Application.log_level)
    Default: 30
    Choices: (0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL')
    Set the log level by value or name.
--ext=<Unicode> (InteractiveShellApp.extra_extension)
    Default: ''
    dotted module name of an IPython extension to load.
--config=<Unicode> (BaseIPythonApplication.extra_config_file)
    Default: u''
    Path to an extra config file to load.
    If specified, load this config file in addition to any other IPython config.

To see all available configurables, use `--help-all`

Examples
--------

    ipython --matplotlib       # enable matplotlib integration
    ipython --matplotlib=qt    # enable matplotlib integration with qt4 backend

    ipython --log-level=DEBUG  # set logging to DEBUG
    ipython --profile=foo      # start with profile foo

    ipython qtconsole          # start the qtconsole GUI application
    ipython help qtconsole     # show the help for the qtconsole subcmd

    ipython console            # start the terminal-based console application
    ipython help console       # show the help for the console subcmd

    ipython notebook           # start the IPython notebook
    ipython help notebook      # show the help for the notebook subcmd

    ipython profile create foo # create profile foo w/ default config files
    ipython help profile       # show the help for the profile subcmd

    ipython locate             # print the path to the IPython directory
    ipython locate profile foo # print the path to the directory for profile `foo`

    ipython nbconvert           # convert notebooks to/from other formats
In [1]:
!ipython locate
C:\Users\kiss\.ipython

In [2]:
!ipython help notebook
The IPython HTML Notebook.

This launches a Tornado based HTML Notebook Server that serves up an
HTML5/Javascript Notebook client.

Options

-------



Arguments that take values are actually convenience aliases to full
Configurables, whose aliases are listed on the help line. For more information
on full configurables, see '--help-all'.


--no-autoindent

    Turn off autoindenting.

--pprint

    Enable auto pretty printing of results.

--secure

    Use HMAC digests for authentication of messages.
    Setting this flag will generate a new UUID to use as the HMAC key.

--pylab

    Pre-load matplotlib and numpy for interactive use with
    the default matplotlib backend.

--matplotlib

    Configure matplotlib for interactive use with
    the default matplotlib backend.

--autoindent

    Turn on autoindenting.

--no-mathjax

    Disable MathJax
    
    MathJax is the javascript library IPython uses to render math/LaTeX. It is
    very large, so you may want to disable it if you have a slow internet
    connection, or for offline use of the notebook.
    
    When disabled, equations etc. will appear as their untransformed TeX source.

--automagic

    Turn on the auto calling of magic commands. Type %%magic at the
    IPython  prompt  for  more information.

--no-secure

    Don't authenticate messages.

--color-info

    IPython can display information about objects via a set of func-
    tions, and optionally can use colors for this, syntax highlighting
    source code and various other elements.  However, because this
    information is passed through a pager (like 'less') and many pagers get
    confused with color codes, this option is off by default.  You can test
    it and turn it on permanently in your ipython_config.py file if it
    works for you.  Test it and turn it on permanently if it works with
    your system.  The magic function %%color_info allows you to toggle this
    interactively for testing.

--no-stdout

    redirect stdout to the null device

--no-automagic

    Turn off the auto calling of magic commands.

--nosep

    Eliminate all spacing between prompts.

--script

    Auto-save a .py script everytime the .ipynb notebook is saved

--deep-reload

    Enable deep (recursive) reloading by default. IPython can use the
    deep_reload module which reloads changes in modules recursively (it
    replaces the reload() function, so you don't need to change anything to
    use it). deep_reload() forces a full reload of modules whose code may
    have changed, which the default reload() function does not.  When
    deep_reload is off, IPython will use the normal reload(), but
    deep_reload will still be available as dreload(). This feature is off
    by default [which means that you have both normal reload() and
    dreload()].

--quiet

    set log level to logging.CRITICAL (minimize logging output)

--pdb

    Enable auto calling the pdb debugger after every exception.

--no-deep-reload

    Disable deep (recursive) reloading by default.

--init

    Initialize profile with default config files.  This is equivalent
    to running `ipython profile create <profile>` prior to startup.

--no-browser

    Don't open the notebook in a browser after startup.

--no-pprint

    Disable auto pretty printing of results.

--no-pdb

    Disable auto calling the pdb debugger after every exception.

--debug

    set log level to logging.DEBUG (maximize logging output)

--pydb

    Use the third party 'pydb' package as debugger, instead of pdb.
    Requires that pydb is installed.

--no-color-info

    Disable using colors for info related things.

--no-script

    Do not auto-save .py scripts for every notebook

--no-stderr

    redirect stderr to the null device
--control=<Integer> (IPKernelApp.control_port)

    Default: 0

    set the control (ROUTER) port [default: random]

--logappend=<Unicode> (InteractiveShell.logappend)

    Default: ''

    Start logging to the given file in append mode.

--ip=<Unicode> (NotebookApp.ip)

    Default: '127.0.0.1'

    The IP address the notebook server will listen on.

--pylab=<CaselessStrEnum> (InteractiveShellApp.pylab)

    Default: None

    Choices: ['auto', 'gtk', 'inline', 'osx', 'qt', 'qt4', 'tk', 'wx']

    Pre-load matplotlib and numpy for interactive use, selecting a particular

    matplotlib backend and loop integration.

--cache-size=<Integer> (InteractiveShell.cache_size)

    Default: 1000

    Set the size of the output cache.  The default is 1000, you can change it

    permanently in your config file.  Setting it to 0 completely disables the

    caching system, and the minimum value accepted is 20 (if you provide a value

    less than 20, it is reset to 0 and a warning is issued).  This limit is

    defined because otherwise you'll spend more time re-flushing a too small

    cache than working

--port-retries=<Integer> (NotebookApp.port_retries)

    Default: 50

    The number of additional ports to try if the specified port is not

    available.

--hb=<Integer> (IPKernelApp.hb_port)

    Default: 0

    set the heartbeat port [default: random]

--colors=<CaselessStrEnum> (InteractiveShell.colors)

    Default: 'Linux'

    Choices: ('NoColor', 'LightBG', 'Linux')

    Set the color scheme (NoColor, Linux, or LightBG).

--iopub=<Integer> (IPKernelApp.iopub_port)

    Default: 0

    set the iopub (PUB) port [default: random]

--port=<Integer> (NotebookApp.port)

    Default: 8888

    The port the notebook server will listen on.

--transport=<CaselessStrEnum> (KernelManager.transport)

    Default: 'tcp'

    Choices: ['tcp', 'ipc']

--certfile=<Unicode> (NotebookApp.certfile)

    Default: u''

    The full path to an SSL/TLS certificate file.

--autocall=<Enum> (InteractiveShell.autocall)

    Default: 0

    Choices: (0, 1, 2)

    Make IPython automatically call any callable object even if you didn't type

    explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.

    The value can be '0' to disable the feature, '1' for 'smart' autocall, where

    it is not applied if there are no more arguments on the line, and '2' for

    'full' autocall, where all callable objects are automatically called (even

    if no arguments are present).

--notebook-dir=<Unicode> (NotebookManager.notebook_dir)

    Default: u'C:\\Users\\kiss\\Documents\\IPython Notebooks\\web\\debuggers'

    The directory to use for notebooks.

--config=<Unicode> (BaseIPythonApplication.extra_config_file)

    Default: u''

    Path to an extra config file to load.

    If specified, load this config file in addition to any other IPython config.

--profile=<Unicode> (BaseIPythonApplication.profile)

    Default: u'default'

    The IPython profile to use.

--shell=<Integer> (IPKernelApp.shell_port)

    Default: 0

    set the shell (ROUTER) port [default: random]

--parent=<Integer> (IPKernelApp.parent_handle)

    Default: 0

    kill this process if its parent dies.  On Windows, the argument specifies

    the HANDLE of the parent process, otherwise it is simply boolean.

--matplotlib=<CaselessStrEnum> (InteractiveShellApp.matplotlib)

    Default: None

    Choices: ['auto', 'gtk', 'inline', 'osx', 'qt', 'qt4', 'tk', 'wx']

    Configure matplotlib for interactive use with the default matplotlib

    backend.

--profile-dir=<Unicode> (ProfileDir.location)

    Default: u''

    Set the profile location directly. This overrides the logic used by the

    `profile` option.

--user=<Unicode> (Session.username)

    Default: u'username'

    Username for the Session. Default is your system username.

--interrupt=<Integer> (IPKernelApp.interrupt)

    Default: 0

    ONLY USED ON WINDOWS Interrupt this process when the parent is signaled.

--logfile=<Unicode> (InteractiveShell.logfile)

    Default: ''

    The name of the logfile to use.

-c <Unicode> (InteractiveShellApp.code_to_run)

    Default: ''

    Execute the given command string.

--ident=<CUnicode> (Session.session)

    Default: u''

    The UUID identifying this session.

--ipython-dir=<Unicode> (BaseIPythonApplication.ipython_dir)

    Default: u'C:\\Users\\kiss\\.ipython'

    The name of the IPython directory. This directory is used for logging

    configuration (through profiles), history storage, etc. The default is

    usually $HOME/.ipython. This options can also be specified through the

    environment variable IPYTHONDIR.

--gui=<CaselessStrEnum> (InteractiveShellApp.gui)

    Default: None

    Choices: ('glut', 'gtk', 'gtk3', 'none', 'osx', 'pyglet', 'qt', 'qt4', 'tk', 'wx')

    Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3',

    'none', 'osx', 'pyglet', 'qt', 'qt4', 'tk', 'wx').

--stdin=<Integer> (IPKernelApp.stdin_port)

    Default: 0

    set the stdin (ROUTER) port [default: random]

-m <Unicode> (InteractiveShellApp.module_to_run)

    Default: ''

    Run the module as a script.

--log-level=<Enum> (Application.log_level)

    Default: 30

    Choices: (0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL')

    Set the log level by value or name.

--ext=<Unicode> (InteractiveShellApp.extra_extension)

    Default: ''

    dotted module name of an IPython extension to load.

--keyfile=<Unicode> (NotebookApp.keyfile)

    Default: u''

    The full path to a private key file for usage with SSL/TLS.

--browser=<Unicode> (NotebookApp.browser)

    Default: u''

    Specify what command to use to invoke a web browser when opening the

    notebook. If not specified, the default browser will be determined by the

    `webbrowser` standard library module, which allows setting of the BROWSER

    environment variable to override it.

To see all available configurables, use `--help-all`

Examples
--------

    ipython notebook                       # start the notebook
    ipython notebook --profile=sympy       # use the sympy profile
    ipython notebook --certfile=mycert.pem # use SSL/TLS certificate


In [11]:
!chcp 65001
!dir C:\Users\kiss\.ipython
Active code page: 65001
 Volume in drive C has no label.
 Volume Serial Number is 6017-2A0B

 Directory of C:\Users\kiss\.ipython

29.11.2013  00:16    <DIR>          .
29.11.2013  00:16    <DIR>          ..
10.04.2014  13:09    <DIR>          profile_default
29.11.2013  00:16               100 README
               1 File(s)            100 bytes
               3 Dir(s)  406В 003В 441В 664 bytes free

In [9]:
% load C:\\Users\\kiss\\.ipython\\readme
In []:
This is the IPython directory.

For more information on configuring IPython, do:

ipython config -h
Если теперь выполнить "!ipython config -h", то мы получим тот самый текст справки, который уже распечатали выше по команде "ipython -h"
In [12]:
!dir C:\Users\kiss\.ipython\profile_default
 Volume in drive C has no label.
 Volume Serial Number is 6017-2A0B

 Directory of C:\Users\kiss\.ipython\profile_default

10.04.2014  13:31    <DIR>          .
10.04.2014  13:31    <DIR>          ..
23.01.2014  17:56    <DIR>          db
10.04.2014  13:31         1В 341В 440 history.sqlite
29.11.2013  00:16    <DIR>          log
29.11.2013  00:16    <DIR>          pid
10.04.2014  12:50    <DIR>          security
29.11.2013  00:16    <DIR>          startup
               1 File(s)      1В 341В 440 bytes
               7 Dir(s)  406В 003В 466В 240 bytes free

In [13]:
%load C:\\Users\\kiss\\.ipython\\profile_default\\startup\\readme
In []:
This is the IPython startup directory

.py and .ipy files in this directory will be run *prior* to any code or files specified
via the exec_lines or exec_files configurables whenever you load this profile.

Files will be run in lexicographical order, so you can control the execution order of files
with a prefix, e.g.::

    00-first.py
    50-middle.py
    99-last.ipy


Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий