在VS Code中使用IPython REPL

时间:2018-09-13 09:27:44

标签: python visual-studio-code ipython

使用Visual Studio Code的Python扩展,我可以选择一些代码,右键单击它,然后选择“在Python Terminal中运行选择/行”(或者,我可以按Shift + Enter)。但是,这会将选定的代码发送到“终端”窗格中的普通旧Python REPL,而我希望将此代码改为在IPython中运行(而不是QtConsole,仅是基于终端的IPython)。

是否可以将IPython设置为默认REPL?我尝试将/usr/local/bin/ipython3设置为默认的Python环境,但这不起作用(它仍然执行普通的Python解释器)。 FWIW,我在macOS上。

7 个答案:

答案 0 :(得分:8)

添加以下设置(首选项:打开设置JSON)无需任何扩展名即可。它还解决了无法将多行发送到iPython的问题。

"python.terminal.launchArgs": ["-c", "\"import subprocess; subprocess.call(['ipython', '--no-autoindent'])\""],

答案 1 :(得分:6)

在终端窗口中键入Ipython。然后从编辑器窗口中选择要运行的一行,然后单击VScode窗口顶部的“终端”菜单。终端菜单中的一个选项是“运行选定的文本”。这将在Ipython终端窗口中运行。我不知道如何将其设置为默认值,但除非Ipython停止,否则它似乎保持该状态。注意:您必须使用菜单项来运行选择。在编辑器窗口中右键单击并单击“运行选择”将不使用Ipython窗口。我希望这很清楚。如果不是,请发表评论。

答案 2 :(得分:2)

我从 inside 中启动IPython,这是Shift-Enter使用

产生的标准Python REPL
import IPython
IPython.embed()

请参见IPython docs

答案 3 :(得分:1)

使用“ IPython for VSCode”插件。

安装它,然后使用 Send Select Text (or current line) To IPython

如果您想使用带有原始shift+enter的快捷方式设置来执行上述命令,请使用以下一种方法。

快捷方式设置-正常

  1. 打开快捷方式设置:Macos是cmd+k cmd+s

  2. 上方的搜索命令,然后右键单击以将键盘绑定修改为shift+enter

  3. 下一步,再次右键单击以将When expression修改为:

editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'
  1. 右键单击并选择show same key bindings

  2. 找到命令Python: Run Selection/Line in Python Terminal,然后右键单击以禁用它。

快捷方式设置-JSON

  1. 打开快捷方式设置,然后单击右上角以打开JSON配置

  2. 附加以下设置:

    {
        "key": "shift+enter",
        "command": "ipython.sendSelectedToIPython",
        "when": "editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'"
    },
    {
        "key": "shift+enter",
        "command": "-python.execSelectionInTerminal",
        "when": "editorTextFocus && !findInputFocussed && !python.datascience.ownsSelection && !replaceInputFocussed && editorLangId == 'python'"
    }

答案 4 :(得分:1)

您还可以如下设置"python.pythonPath"中的settings.json

{
  "python.pythonPath": "~/miniconda3/bin/ipython3",
  "python.dataScience.sendSelectionToInteractiveWindow": false
}

{
  "python.pythonPath": "~/miniconda3/envs/<yourEnv>/bin/ipython3",
  "python.dataScience.sendSelectionToInteractiveWindow": false
}

shift+enter然后将触发ipython并将行发送到终端。

答案 5 :(得分:0)

“ IPython for VSCode”插件提供了IPython支持。

只需选择文本并在命令面板中调用“将选定的文本(或当前行)发送到IPython”即可。

Microsoft Python官方插件现在也支持具有类似功能的交互式木星窗口。

答案 6 :(得分:0)

如何在 VS Code 中创建 Jupiter Notebook

  1. 转到命令面板 (Command + Shift + P)
  2. 搜索:“Jupyter:创建新的空白笔记本”,然后按 Enter