64

我的用例是我想初始化文件中的一些函数,然后使用定义的这些函数启动 ipython。有没有办法做这样的事情?

ipython --run_script=myscript.py
4

7 回答 7

99

在最新版本的 ipython 中,您确实需要添加-i之后进入交互式环境的选项。没有它,-i它只会运行 myfile.py 中的代码并返回到提示符。

$ ipython -i myfile.py
于 2012-03-29T09:53:37.833 回答
34

根据文档,这很简单:

使用以下命令启动 IPython:

$ ipython [options] files

如果在没有选项的情况下调用,它将执行按顺序列出的所有文件并将您放入解释器,同时仍然确认您可能在 ipythonrc文件中设置的任何选项。此行为与标准 Python 不同,后者在调用 aspython -i时只会执行一个文件并忽略您的配置设置。

所以,只需使用ipython myfile.py......你就在那里!-)

于 2010-07-24T05:08:06.023 回答
17

您可以使用 ipython 配置文件来定义每次启动 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是用户名。

default_profile 位于profile_default子目录中。将任何启动脚本放入profile_default/startup. 在此处的示例中,完整路径为/home/johndoe/.config/ipython/profile_default/startup.

于 2013-04-16T18:15:40.570 回答
16

现在,您可以使用 ipython 的启动文件夹,它位于您的主目录(Windows 上为 C:\users\[username]\.ipython)。进入默认配置文件,您将看到一个带有 README 文件的启动文件夹。只需将任何 Python 脚本放入其中,或者如果您需要 ipython 命令,请将它们放入扩展名为 .ipy 的文件中。

于 2012-08-28T01:04:48.660 回答
0

以下是您希望在使用 ipython 时自动运行启动脚本(而不是每次运行 ipython 时都必须指定脚本)的情况。

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

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

此处提供了有关创建和使用 ipython 配置文件的信息。

于 2017-04-26T17:42:29.733 回答
-1

您似乎正在寻找 ipyhton 的 %run 魔术命令。

通过输入 ipython:

    %run hello_world.py

您将运行保存在主目录中的 hello.py 程序。您也可以访问该脚本中定义的函数和变量。

于 2013-04-06T00:50:11.697 回答
-1

在 Ubuntu 14.04 中更新@Caleb 对 Python 3.5 的回答:通过复制 @Caleb 回答的相关部分使这个答案自包含。

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

假设您只需要一个配置文件,并且每次启动 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 
于 2016-05-23T08:23:40.323 回答