启动运行脚本的ipython

问题描述:

我的用例是我想初始化文件中的一些函数,然后用定义的那些函数启动ipython。有什么办法做像ipython --run_script = myscript.py?启动运行脚本的ipython

+0

你为什么不把你的问题作为一个问题来解释? – 2018-02-06 21:38:30

the docs,是微不足道:

你用命令启动IPython的:

$ ipython [options] files 

如果不带选项调用,它 执行 顺序列出的所有文件并让你进入 口译员,同时仍然确认 你可能会选择的任何选项已在您的 ipythonrc文件中设置。这种行为是 不同于标准Python,其中 被称为python -i时只会执行 一个文件并忽略您的 配置设置。

所以,只要使用ipython myfile.py ...你瞧 - !)

+0

这个答案现在已过时。请参阅下面的@ Maarten的答案。您需要使用'-i'标志以及所需的任何其他选项,然后使用python脚本名称。这样,你将被留在翻译中,而不是立即退出 – CPBL 2016-11-20 20:36:43

在最近版本的IPython中你需要添加-i选项就可以进入交互式环境之后。如果没有-i它只运行myfile.py中的代码并返回到提示符。

$ ipython -i myfile.py 
+5

作为补充说明,这里的“最新版本”意味着在0.10.2〜> 0.11建筑改造之后,“-i”选项向后兼容ipython 0.10.2(我可以确认),可能更低(我可以推测)。 – DreadPirateShawn 2013-09-26 18:10:29

如今,你可以使用IPython中,它位于你的主目录的启动文件夹(C:\ Users \ [用户名] \ IPython的Windows上)。进入默认配置文件,您将看到一个带有自述文件的启动文件夹。只要将任何Python脚本放在那里,或者如果你想要ipython命令,就把它们放在一个扩展名为.ipy的文件中。

+0

谢谢,很高兴知道启动目录。我最近在配置文件选项中找到了关于exec_files的信息。似乎在exec_files条目之前执行启动目录文件。链接是信息。 – 2012-12-12 05:20:57

+1

ubuntu上的'〜/ .config/ipython/profile_default/startup' – wim 2014-03-18 14:16:42

您似乎在寻找ipyhton的%run magic命令。

通过IPython中键入:

%run hello_world.py 

你会碰到保存在你的home目录hello.py程序。该脚本中定义的函数和变量也可供您访问。

+1

问题是如何用文件启动ipython,而不是在ipython中运行文件。 – 2016-05-23 08:38:12

您可以使用ipython配置文件来定义每次启动ipython时都会运行的启动脚本。完整描述的配置文件,给出here。您可以用不同的启动文件创建多个配置文件。

假设您只需要一个配置文件,并且每次启动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是用户名。

default_profile位于profile_default子目录中。将任何起始脚本放入profile_default/startup。在这里的例子中,完整路径是/home/johndoe/.config/ipython/profile_default/startup

+0

在最新版本的IPython中,get_ipython_dir()现在位于IPython.paths.get_ipython_dir() – lehalle 2017-07-18 09:24:13

+0

谢谢!这是一个旧帖子...我纠正了它。 – Caleb 2017-07-31 18:07:51

在Ubuntu 14.04中更新到@ Caleb的Python 3.5的答案:通过复制@ Caleb的答案的相关部分使此答案自成一体。

您可以使用ipython配置文件定义每次启动ipython时都会运行的启动脚本。完整描述的配置文件,给出here。您可以用不同的启动文件创建多个配置文件。

假设您只需要一个配置文件,并且每次启动ipython时都需要相同的启动文件,则可以简单地修改默认配置文件。要做到这一点,首先找出你的IPython的配置目录是在IPython的会话:

输入:

import IPython 
ipython_config_dir = IPython.paths.get_ipython_dir() 
print(ipython_cofig_dir) 

输出:

/home/johndoe/.ipython 

在这个例子中johndoe是用户名。

/.ipython文件夹中,default_profile位于profile_default子目录中。将任何启动脚本放入profile_default/startup中。在这里的例子,全路径将是

/home/johndoe/.ipython/profile_default/startup 
+1

因为它是这个答案不回答这个问题。答案必须完全包含在内。我建议完成它。 – 2016-05-23 08:41:11

+0

我应该只编辑@Calebs答案吗?与此更新!或让它自成一体?谢谢!已经编辑它! – 2016-05-23 11:41:41

+1

我不认为你应该修改迦勒答案,因为它大大改变它。我会添加相关信息,让您自己回答问题的答案。让自己置身于阅读你的答案而不阅读凯勒布斯的人的位置,并查看该人需要哪些信息才能开始结束。 :) – 2016-05-23 11:59:49

以下是的情况下,当你想,只要你使用IPython中(而不必,你必须每次都指定脚本启动脚本来自动运行您运行ipython)。

对于ipython的最新版本(即5.1.0),在IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup文件夹中放置一个或多个您希望执行的Python脚本。

例如,在linux上,如果您希望在未指定ipython配置文件时运行它,则可以将您的python启动代码放入一个名为~/.ipython/profile_default/startup/10-mystartupstuff.py的文件中。

有关创建和使用ipython配置文件的信息可用here