2015-02-06 153 views
9

我想在我创建的每个新笔记本中的几乎每个新笔记本中都带上几个单元格。如何在iPython笔记本中设置默认启动命令?

例如,当我创建一个新的笔记本,应该把

%matplotlib inline 
import matplotlib.pyplot as plt 

在默认情况下,细胞但不执行它。 我怎么能设置这样的东西呢?

回答

2

定义设置默认启动的命令,你需要添加的命令在templete ipy_user_conf.py文件在您〜/ .ipython目录。
此模块在IPython启动期间导入。所以,你可以很容易做到:进口模块,配置扩展,更改选项,定义神奇的命令,把变量和函数的命名空间的IPython等
这里是样品ipy_user_conf.py:

# Most of your config files and extensions will probably start 
# with this import 

import IPython.ipapi 
ip = IPython.ipapi.get() 

# You probably want to uncomment this if you did %upgrade -nolegacy 
# import ipy_defaults 

import os 

def main(): 

    #ip.dbg.debugmode = True 
    ip.dbg.debug_stack() 

    # uncomment if you want to get ipython -p sh behaviour 
    # without having to use command line switches 
    import ipy_profile_sh 
    import jobctrl 

    # Configure your favourite editor? 
    # Good idea e.g. for %edit os.path.isfile 

    #import ipy_editors 

    # Choose one of these: 

    #ipy_editors.scite() 
    #ipy_editors.scite('c:/opt/scite/scite.exe') 
    #ipy_editors.komodo() 
    #ipy_editors.idle() 
    # ... or many others, try 'ipy_editors??' after import to see them 

    # Or roll your own: 
    #ipy_editors.install_editor("c:/opt/jed +$line $file") 


    o = ip.options 
    # An example on how to set options 
    #o.autocall = 1 
    o.system_verbose = 0 

    #import_all("os sys") 
    #execf('~/_ipython/ns.py') 


    # -- prompt 
    # A different, more compact set of prompts from the default ones, that 
    # always show your current location in the filesystem: 

    #o.prompt_in1 = r'\C_LightBlue[\C_LightCyan\Y2\C_LightBlue]\C_Normal\n\C_Green|\#>' 
    #o.prompt_in2 = r'.\D: ' 
    #o.prompt_out = r'[\#] ' 

    # Try one of these color settings if you can't read the text easily 
    # autoexec is a list of IPython commands to execute on startup 
    #o.autoexec.append('%colors LightBG') 
    #o.autoexec.append('%colors NoColor') 
    o.autoexec.append('%colors Linux') 


# some config helper functions you can use 
def import_all(modules): 
    """ Usage: import_all("os sys") """ 
    for m in modules.split(): 
     ip.ex("from %s import *" % m) 

def execf(fname): 
    """ Execute a file in user namespace """ 
    ip.ex('execfile("%s")' % os.path.expanduser(fname)) 

main() 

有关详细信息,请参考链接:Customization of IPython

我希望这是你想知道的。

+1

谢谢。虽然你的答案似乎并不完全符合我的要求。链接的文档是针对ipython的一个非常旧的版本,并解释了如何设置启动ipython时执行的命令。然而,我正在寻找的是为每个新创建的笔记本添加自定义初始化单元的方法。这看起来可能相当,但是,例如,如果您想共享笔记本,则不是。 – user9886 2015-02-25 11:27:40

相关问题