如何在IPython中自动设置默认路径

时间:2017-08-29 12:29:35

标签: python ipython

我使用WingIDE进行开发,使用Ipython运行脚本。我在几点上面临一些不便:

  • 每当我更新代码时,我都必须重新加载我的模块才能在IPython中更新它。为了解决这个问题,我在以下链接中跟踪了Jomonsugi的答案:How to automatically reload modules in IPython? 它有效。

  • 每次启动IPython时,我的路径都设置为我的exe位置,我必须cd到我的脚本目录。 我试图通过在c.InteractiveShell.ipython_dir = <mypath>中设置参数ipython_config.py来启动IPython时自动更改目录,但它不起作用。

是否可以设置默认路径?是否在ipython_config.py中设置了特定参数?

2 个答案:

答案 0 :(得分:1)

一种方法是使用您的startup.py文件。它应该位于以下某处:

C:/Users/yourname/.ipython/profile_default

如果它不存在,请创建它。然后使用

import os
os.chdir('C:/Users/mypath')

这两行将在IPython启动时运行。

资料来源:IPython.org&gt; Startup Files

答案 1 :(得分:1)

我确定Brad Solomon的答案适用于他的IPython版本,但是我刚刚使用pip install ipython下载了IPython,并且我的启动文件位于比他更深的目录中。我的IPython版本是7.18.1,启动文件位于~/.ipython/profile_default/startup/中。那里有一个README声明

This is the IPython startup directory

.py and .ipy files in this directory will be run *prior* to any code
or files specified via the exec_lines or exec_files configurables
whenever you load this profile.

Files will be run in lexicographical order, so you can control the
execution order of files with a prefix, e.g.::

        00-first.py
        50-middle.py
        99-last.ipy

这是非常自我描述的,但我想补充一下(对于来自here的任何人)%load_ext autoreload是IPython命令,因此您可能要创建文件{{1} },内容如下:

startup.ipy