Show More
@@ -29,12 +29,16 b' import zmq' | |||||
29 | from IPython.config.configurable import Configurable |
|
29 | from IPython.config.configurable import Configurable | |
30 | from IPython.config.application import boolean_flag |
|
30 | from IPython.config.application import boolean_flag | |
31 | from IPython.core.newapplication import ProfileDir |
|
31 | from IPython.core.newapplication import ProfileDir | |
|
32 | from IPython.core.shellapp import ( | |||
|
33 | InteractiveShellApp, shell_flags, shell_aliases | |||
|
34 | ) | |||
32 | from IPython.utils import io |
|
35 | from IPython.utils import io | |
33 | from IPython.utils.jsonutil import json_clean |
|
36 | from IPython.utils.jsonutil import json_clean | |
34 | from IPython.lib import pylabtools |
|
37 | from IPython.lib import pylabtools | |
35 | from IPython.utils.traitlets import ( |
|
38 | from IPython.utils.traitlets import ( | |
36 | List, Instance, Float, Dict, Bool, Int, Unicode, CaselessStrEnum |
|
39 | List, Instance, Float, Dict, Bool, Int, Unicode, CaselessStrEnum | |
37 | ) |
|
40 | ) | |
|
41 | ||||
38 | from entry_point import base_launch_kernel |
|
42 | from entry_point import base_launch_kernel | |
39 | from kernelapp import KernelApp, kernel_flags, kernel_aliases |
|
43 | from kernelapp import KernelApp, kernel_flags, kernel_aliases | |
40 | from iostream import OutStream |
|
44 | from iostream import OutStream | |
@@ -559,53 +563,9 b' class GTKKernel(Kernel):' | |||||
559 | #----------------------------------------------------------------------------- |
|
563 | #----------------------------------------------------------------------------- | |
560 |
|
564 | |||
561 | flags = dict(kernel_flags) |
|
565 | flags = dict(kernel_flags) | |
|
566 | flags.update(shell_flags) | |||
562 |
|
567 | |||
563 | addflag = lambda *args: flags.update(boolean_flag(*args)) |
|
568 | addflag = lambda *args: flags.update(boolean_flag(*args)) | |
564 | addflag('automagic', 'InteractiveShell.automagic', |
|
|||
565 | """Turn on the auto calling of magic commands. Type %%magic at the |
|
|||
566 | IPython prompt for more information.""", |
|
|||
567 | 'Turn off the auto calling of magic commands.' |
|
|||
568 | ) |
|
|||
569 | addflag('banner', 'InteractiveShell.display_banner', |
|
|||
570 | "Display a banner upon starting IPython.", |
|
|||
571 | "Don't display a banner upon starting IPython." |
|
|||
572 | ) |
|
|||
573 | addflag('pdb', 'InteractiveShell.pdb', |
|
|||
574 | "Enable auto calling the pdb debugger after every exception.", |
|
|||
575 | "Disable auto calling the pdb debugger after every exception." |
|
|||
576 | ) |
|
|||
577 | addflag('pprint', 'PlainTextFormatter.pprint', |
|
|||
578 | "Enable auto pretty printing of results.", |
|
|||
579 | "Disable auto auto pretty printing of results." |
|
|||
580 | ) |
|
|||
581 | addflag('color-info', 'InteractiveShell.color_info', |
|
|||
582 | """IPython can display information about objects via a set of func- |
|
|||
583 | tions, and optionally can use colors for this, syntax highlighting |
|
|||
584 | source code and various other elements. However, because this |
|
|||
585 | information is passed through a pager (like 'less') and many pagers get |
|
|||
586 | confused with color codes, this option is off by default. You can test |
|
|||
587 | it and turn it on permanently in your ipython_config.py file if it |
|
|||
588 | works for you. Test it and turn it on permanently if it works with |
|
|||
589 | your system. The magic function %%color_info allows you to toggle this |
|
|||
590 | inter- actively for testing.""", |
|
|||
591 | "Disable using colors for info related things." |
|
|||
592 | ) |
|
|||
593 | addflag('deep-reload', 'InteractiveShell.deep_reload', |
|
|||
594 | """Enable deep (recursive) reloading by default. IPython can use the |
|
|||
595 | deep_reload module which reloads changes in modules recursively (it |
|
|||
596 | replaces the reload() function, so you don't need to change anything to |
|
|||
597 | use it). deep_reload() forces a full reload of modules whose code may |
|
|||
598 | have changed, which the default reload() function does not. When |
|
|||
599 | deep_reload is off, IPython will use the normal reload(), but |
|
|||
600 | deep_reload will still be available as dreload(). This fea- ture is off |
|
|||
601 | by default [which means that you have both normal reload() and |
|
|||
602 | dreload()].""", |
|
|||
603 | "Disable deep (recursive) reloading by default." |
|
|||
604 | ) |
|
|||
605 | addflag('readline', 'InteractiveShell.readline_use', |
|
|||
606 | "Enable readline for command line usage.", |
|
|||
607 | "Disable readline for command line usage." |
|
|||
608 | ) |
|
|||
609 |
|
569 | |||
610 | flags['pylab'] = ( |
|
570 | flags['pylab'] = ( | |
611 | {'IPKernelApp' : {'pylab' : 'auto'}}, |
|
571 | {'IPKernelApp' : {'pylab' : 'auto'}}, | |
@@ -614,23 +574,10 b" flags['pylab'] = (" | |||||
614 | ) |
|
574 | ) | |
615 |
|
575 | |||
616 | aliases = dict(kernel_aliases) |
|
576 | aliases = dict(kernel_aliases) | |
|
577 | aliases.update(shell_aliases) | |||
617 |
|
578 | |||
618 | # it's possible we don't want short aliases for *all* of these: |
|
579 | # it's possible we don't want short aliases for *all* of these: | |
619 | aliases.update(dict( |
|
580 | aliases.update(dict( | |
620 | autocall='InteractiveShell.autocall', |
|
|||
621 | cache_size='InteractiveShell.cache_size', |
|
|||
622 | colors='InteractiveShell.colors', |
|
|||
623 | logfile='InteractiveShell.logfile', |
|
|||
624 | log_append='InteractiveShell.logappend', |
|
|||
625 | pi1='InteractiveShell.prompt_in1', |
|
|||
626 | pi2='InteractiveShell.prompt_in2', |
|
|||
627 | po='InteractiveShell.prompt_out', |
|
|||
628 | si='InteractiveShell.separate_in', |
|
|||
629 | so='InteractiveShell.separate_out', |
|
|||
630 | so2='InteractiveShell.separate_out2', |
|
|||
631 | xmode='InteractiveShell.xmode', |
|
|||
632 | c='IPKernelApp.code_to_run', |
|
|||
633 | ext='IPKernelApp.extra_extension', |
|
|||
634 | pylab='IPKernelApp.pylab', |
|
581 | pylab='IPKernelApp.pylab', | |
635 | )) |
|
582 | )) | |
636 |
|
583 | |||
@@ -638,7 +585,7 b' aliases.update(dict(' | |||||
638 | # The IPKernelApp class |
|
585 | # The IPKernelApp class | |
639 | #----------------------------------------------------------------------------- |
|
586 | #----------------------------------------------------------------------------- | |
640 |
|
587 | |||
641 | class IPKernelApp(KernelApp): |
|
588 | class IPKernelApp(KernelApp, InteractiveShellApp): | |
642 | name = 'ipkernel' |
|
589 | name = 'ipkernel' | |
643 |
|
590 | |||
644 | aliases = Dict(aliases) |
|
591 | aliases = Dict(aliases) | |
@@ -651,33 +598,11 b' class IPKernelApp(KernelApp):' | |||||
651 | selecting a particular matplotlib backend and loop integration. |
|
598 | selecting a particular matplotlib backend and loop integration. | |
652 | """ |
|
599 | """ | |
653 | ) |
|
600 | ) | |
654 | extensions = List(Unicode, config=True, |
|
601 | def initialize(self, argv=None): | |
655 | help="A list of dotted module names of IPython extensions to load." |
|
602 | super(IPKernelApp, self).initialize(argv) | |
656 | ) |
|
603 | self.init_shell() | |
657 | extra_extension = Unicode('', config=True, |
|
604 | self.init_extensions() | |
658 | help="dotted module name of an IPython extension to load." |
|
605 | self.init_code() | |
659 | ) |
|
|||
660 | def _extra_extension_changed(self, name, old, new): |
|
|||
661 | if new: |
|
|||
662 | # add to self.extensions |
|
|||
663 | self.extensions.append(new) |
|
|||
664 |
|
||||
665 | exec_files = List(Unicode, config=True, |
|
|||
666 | help="""List of files to run at IPython startup.""" |
|
|||
667 | ) |
|
|||
668 | file_to_run = Unicode('', config=True, |
|
|||
669 | help="""A file to be run""") |
|
|||
670 | def _file_to_run_changed(self, name, old, new): |
|
|||
671 | self.exec_files.append(new) |
|
|||
672 |
|
||||
673 | exec_lines = List(Unicode, config=True, |
|
|||
674 | help="""lines of code to run at IPython startup.""" |
|
|||
675 | ) |
|
|||
676 | code_to_run = Unicode('', config=True, |
|
|||
677 | help="Execute the given command string." |
|
|||
678 | ) |
|
|||
679 | def _code_to_run_changed(self, name, old, new): |
|
|||
680 | self.exec_lines.append(new) |
|
|||
681 |
|
606 | |||
682 | def init_kernel(self): |
|
607 | def init_kernel(self): | |
683 | kernel_factory = Kernel |
|
608 | kernel_factory = Kernel | |
@@ -713,6 +638,8 b' class IPKernelApp(KernelApp):' | |||||
713 | pylabtools.import_pylab(kernel.shell.user_ns, backend, |
|
638 | pylabtools.import_pylab(kernel.shell.user_ns, backend, | |
714 | shell=kernel.shell) |
|
639 | shell=kernel.shell) | |
715 |
|
640 | |||
|
641 | def init_shell(self): | |||
|
642 | self.shell = self.kernel.shell | |||
716 |
|
643 | |||
717 |
|
644 | |||
718 | #----------------------------------------------------------------------------- |
|
645 | #----------------------------------------------------------------------------- | |
@@ -736,7 +663,7 b' def launch_kernel(*args, **kwargs):' | |||||
736 |
|
663 | |||
737 |
|
664 | |||
738 | def main(): |
|
665 | def main(): | |
739 |
"""Run a P |
|
666 | """Run an IPKernel as an application""" | |
740 | app = IPKernelApp() |
|
667 | app = IPKernelApp() | |
741 | app.initialize() |
|
668 | app.initialize() | |
742 | app.start() |
|
669 | app.start() |
General Comments 0
You need to be logged in to leave comments.
Login now