如何在IPython中运行脚本?
我的需求是,我想在一个文件里初始化一些函数,然后再启动IPython,让这些函数可以用。有没有什么办法可以做到这一点呢?
ipython --run_script=myscript.py
7 个回答
18
你可以使用IPython配置文件来定义启动脚本,这些脚本会在每次启动IPython时自动运行。关于配置文件的详细说明,可以在这里找到。你可以创建多个配置文件,每个文件可以有不同的启动脚本。
假设你只需要一个配置文件,并且每次启动IPython时都想要相同的启动脚本,你可以直接修改默认的配置文件。首先,你需要在IPython会话中找到你的配置目录在哪里:
In [1]: import IPython
In [2]: IPython.paths.get_ipython_dir() # As of IPython v4.0
In [3]: print(ipython_config_dir)
/home/johndoe/.config/ipython
在这个例子中,我使用的是Ubuntu Linux,配置目录在/home/johndoe/.config/ipython
,其中johndoe
是你的用户名。
默认的配置文件在profile_default
子目录下。你可以把任何启动脚本放在profile_default/startup
文件夹里。在这个例子中,完整路径就是/home/johndoe/.config/ipython/profile_default/startup
。
113
在最近的IPython版本中,你需要加上 -i
这个选项,才能进入交互式环境。如果不加 -i
,它只会运行 myfile.py 里的代码,然后就会返回到命令提示符。
ipython -i myfile.py
35
根据文档,这非常简单:
你可以用下面的命令启动IPython:
$ ipython [options] files
如果不加任何选项启动,它会依次执行你列出的所有文件,并且会让你进入解释器,同时也会考虑你在
ipythonrc
文件中设置的选项。这和标准的Python不一样,标准Python用python -i
启动时,只会执行一个文件,并且会忽略你的配置设置。
所以,只需使用ipython myfile.py
... 就可以了!-)