我的用例是我想要在一个文件中初始化一些函数,然后使用已定义的这些函数启动IPython。是否有类似的方法可以实现这个目标?
ipython --run_script=myscript.py
在最近的IPython版本中,你需要添加-i
选项才能进入交互式环境。如果没有-i
,它只会运行myfile.py中的代码并返回到提示符。
ipython -i myfile.py
根据文档,这很简单:
您可以使用以下命令启动IPython:
$ ipython [options] files
如果没有添加任何选项,
ipython
会按照顺序执行所有列出的文件并将你带到解释器中,同时仍然承认你在ipythonrc
文件中设置的任何选项。这种行为与标准 Python 不同,后者在调用python -i
时只会执行一个文件并忽略你的配置设置。因此,只需使用
ipython myfile.py
就可以了... 然后你就到那里啦!-)
-i
标志以及您想要的任何其他选项,后跟Python脚本名称。这样,您将留在解释器中,而不是立即退出。 - CPBL您可以使用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.paths.locate_profile()
。 - Michael Foukarakis现在,您可以使用IPython的启动文件夹,该文件夹位于您的主目录下(Windows上为C:\ users \ [用户名] \ .ipython)。 进入默认配置文件,您将看到一个带有README文件的启动文件夹。 只需将任何Python脚本放在其中,或者如果您想要IPython命令,请将它们放在扩展名为.ipynb的文件中。
~/.config/ipython/profile_default/startup
是一个文件路径。 - wimIPYTHON_CONFIG_DIR/profile_PROFILENAME/startup
文件夹中。~/.ipython/profile_default/startup/10-mystartupstuff.py
的文件中。在IPython中输入:
%run hello_world.py
你将运行保存在你的主目录中的hello.py程序。该脚本中定义的函数和变量也将对你可用。
针对Python 3.5在Ubuntu 14.04(Trusty Tahr)中的更新,请参考Caleb's answer:我通过复制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