我正在使用 IPython 笔记本,我想在外部编辑器中编辑程序。我如何%edit file_name.py
才能打开 Notepad++ 等编辑器。
3 回答
运行%edit?
将为您提供%edit
魔术功能的帮助。
您需要设置c.TerminalInteractiveShell.editor
,它位于您的 ipython_config.py 中。我不太确定它在 Windows 中的位置;在 OS X 和 Linux 上,它位于 ~/.ipython 中。您需要将变量设置为所需编辑器的完整路径。
或者,您可以在 Windows 本身中创建一个环境变量 EDITOR,并将其设置为您想要的编辑器的完整路径。iPython 应该使用它。
我正在使用 Windows 7 和 8(以及 10TP)和 Python 3.4.2。
我开始ipython locate
告诉我 ipython 认为其他地方建议的配置文件应该在哪里。当我看到它有所不同时,我四处阅读并得出以下结论:
- 在我的系统上,
ipython locate
给了我c:\users\osmith\.ipython
,而不是_ipython
你会在使用 Windows XP 完成的 YouTube 视频中看到的, - 在目录中查找
ipython locate
为配置文件指定的目录;如果您没有积极地使用 ipython 配置文件做任何事情,那么应该是.ipython\profile_default
,如果您正在使用配置文件,那么我将它留给您 s/profile_default/${YOUR_PROFILE_NAME}/ g - 检查 profile_default 目录中的
ipython_config.py
文件,如果它不存在,告诉 IPython 初始化自己:ipython profile create
- 在文本编辑器中打开配置文件,
如果您是那种没有过多使用控制台并将东西安装在标准位置的人,您可以通过键入以下内容直接跳到此步骤:ipython profile create
后跟start notepad .ipython\profile_default\ipython_config.py
.
- 搜索字符串
c.TerminalInteractiveShell.editor
, - 上面的注释表明您也可以使用 EDITOR 环境变量,但硬编码文件路径永远不会伤害任何人,所以让我们做一下:
- 复制该行并从副本中删除前导哈希和空格。
将撇号 (
'notepad'
) 之间的文本替换为所需编辑器的路径,例如c.TerminalInteractiveShell.editor = 'c:/程序文件 (x86)/noddyeditor/noddy.exe'
不过,这里有一个问题。一些现代编辑器变得有点花哨和自动,当像这样调用时,会从控制台分离。例如 Notepad++ 和 Sublime Text。Sublime 接受一个“--wait”选项,它在某些时候有效;这告诉命令调用在你关闭文件之前一直存在,until
对于close
.
但是,以下设置在大多数情况下都适用于 sublime 文本:
c.TerminalInteractiveShell.editor = '"c:/program files/sublime text 3/subl.exe" --wait'
(假设 c:\program files\ 是您的 sublime text 3 目录所在的位置)
试试 'Pycharm' 编辑器
这对我有用。