我的用例是我想初始化文件中的一些函数,然后使用定义的这些函数启动 ipython。有没有办法做这样的事情?
ipython --run_script=myscript.py
在最新版本的 ipython 中,您确实需要添加-i
之后进入交互式环境的选项。没有它,-i
它只会运行 myfile.py 中的代码并返回到提示符。
$ ipython -i myfile.py
根据文档,这很简单:
使用以下命令启动 IPython:
$ ipython [options] files
如果在没有选项的情况下调用,它将执行按顺序列出的所有文件并将您放入解释器,同时仍然确认您可能在
ipythonrc
文件中设置的任何选项。此行为与标准 Python 不同,后者在调用 aspython -i
时只会执行一个文件并忽略您的配置设置。
所以,只需使用ipython myfile.py
......你就在那里!-)
您可以使用 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
.
现在,您可以使用 ipython 的启动文件夹,它位于您的主目录(Windows 上为 C:\users\[username]\.ipython)。进入默认配置文件,您将看到一个带有 README 文件的启动文件夹。只需将任何 Python 脚本放入其中,或者如果您需要 ipython 命令,请将它们放入扩展名为 .ipy 的文件中。
以下是您希望在使用 ipython 时自动运行启动脚本(而不是每次运行 ipython 时都必须指定脚本)的情况。
IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup
对于 ipython 的最新版本(即 5.1.0),在文件夹中放置一个或多个您希望执行的 python 脚本。
例如,在 linux 上,~/.ipython/profile_default/startup/10-mystartupstuff.py
如果您希望在未指定 ipython 配置文件时运行,您可以将您的 python 启动代码放入一个名为的文件中。
此处提供了有关创建和使用 ipython 配置文件的信息。
您似乎正在寻找 ipyhton 的 %run 魔术命令。
通过输入 ipython:
%run hello_world.py
您将运行保存在主目录中的 hello.py 程序。您也可以访问该脚本中定义的函数和变量。
在 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