##// END OF EJS Templates
ensure a fallback exists, so use local std{in,out,err}...
ensure a fallback exists, so use local std{in,out,err} Since IOStream instances require a valid fallback stream, use the locally defined std{in,out,err} instead of sys.std{in,out,err} in IOTerm's __init__ method. Note that the local std{in,out,err} are IOStream instances as well, that fall back to os.devnull

File last commit:

r6571:7b474d99
r6652:183d9879
Show More
__init__.py
86 lines | 3.1 KiB | text/x-python | PythonLexer
Brian Granger
Continuing a massive refactor of everything.
r2205 # encoding: utf-8
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 """
Fernando Perez
Minor date/info updates for release.
r4451 IPython: tools for interactive and parallel computing in Python.
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Fernando Perez
Minor date/info updates for release.
r4451 http://ipython.org
Fernando Perez
Remove svn-style $Id marks from docstrings and Release imports....
r1853 """
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
Fernando Perez
Minor date/info updates for release.
r4451 # Copyright (c) 2008-2011, IPython Development Team.
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu>
# Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
# Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 #
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 # Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from __future__ import absolute_import
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Brian Granger
Continuing a massive refactor of everything.
r2205 import os
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 import sys
Brian Granger
Continuing a massive refactor of everything.
r2205
#-----------------------------------------------------------------------------
# Setup everything
#-----------------------------------------------------------------------------
Fernando Perez
Fix invalid version check in setup.py.
r3196 # Don't forget to also update setup.py when this changes!
Brian Granger
Clarifying that Python 2.6 is now required.
r2747 if sys.version[0:3] < '2.6':
raise ImportError('Python Version 2.6 or above is required for IPython.')
vivainio
Moved path to extensions - pickleshare failed because it imported...
r168
# Make it easy to import extensions - they are always directly on pythonpath.
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # Therefore, non-IPython modules can be added to extensions directory.
# This should probably be in ipapp.py.
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 sys.path.append(os.path.join(os.path.dirname(__file__), "extensions"))
fperez
Small fix to sys.argv, match python's default behavior.
r298
Brian Granger
Merging upstream changes from inputhook and config-refactor....
r2224 #-----------------------------------------------------------------------------
# Setup the top level names
#-----------------------------------------------------------------------------
vivainio
corrected some problematic module interdependencies
r695
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .config.loader import Config
from .core import release
from .core.application import Application
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .frontend.terminal.embed import embed
Scott Tsai
embed_kernel: give a clear error message on pyzmq ImportError
r6044
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .core.error import TryNext
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .core.interactiveshell import InteractiveShell
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .testing import test
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 from .utils.sysinfo import sys_info
MinRK
remove unnecessarily specific extract_module_locals_above
r6570 from .utils.frame import extract_module_locals
vivainio
corrected some problematic module interdependencies
r695
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 # Release data
Brian Granger
Continuing a massive refactor of everything.
r2205 __author__ = ''
Thomas Kluyver
Replacing some .items() calls with .iteritems() for cleaner conversion with 2to3.
r3114 for author, email in release.authors.itervalues():
Brian Granger
Continuing a massive refactor of everything.
r2205 __author__ += author + ' <' + email + '>\n'
Brian Granger
Release.py => core/release.py and imports updated.
r2043 __license__ = release.license
__version__ = release.version
Scott Tsai
embed_kernel: only import zmq when needed
r6219
MinRK
adjust embed_kernel signature...
r6571 def embed_kernel(module=None, local_ns=None, **kwargs):
"""Embed and start an IPython kernel in a given scope.
Parameters
----------
module : ModuleType, optional
The module to load into IPython globals (default: caller)
local_ns : dict, optional
The namespace to load into IPython user namespace (default: caller)
kwargs : various, optional
Further keyword args are relayed to the KernelApp constructor,
allowing configuration of the Kernel. Will only have an effect
on the first embed_kernel call for a given process.
"""
MinRK
remove unnecessarily specific extract_module_locals_above
r6570 (caller_module, caller_locals) = extract_module_locals(1)
Scott Tsai
embed_kernel: only import zmq when needed
r6219 if module is None:
module = caller_module
if local_ns is None:
local_ns = caller_locals
MinRK
adjust embed_kernel signature...
r6571
Scott Tsai
embed_kernel: only import zmq when needed
r6219 # Only import .zmq when we really need it
from .zmq.ipkernel import embed_kernel as real_embed_kernel
MinRK
adjust embed_kernel signature...
r6571 real_embed_kernel(module=module, local_ns=local_ns, **kwargs)