如何将ipython/jupyter设置为vscode的默认python终端?

14
我该如何将ipython/jupyter选为默认的Python终端?我使用装有Anaconda发行版的Windows 10和Linux机器。如果我在终端上键入“ipython”,它会打开一个ipython会话。如果我运行调试器或按shift+enter键,它会自动在“裸露”的Python shell上运行。应该很简单...但我已经花费了半个小时在谷歌和设置上,还是没有成功。

https://code.visualstudio.com/docs/python/tutorial-flask

在VS Code中使用IPython REPL

但我找不到在我的Linux或Win10机器上设置它的方法。有什么想法吗?


1
我不知道这是否是您想要的,但如果您加载了Jupyter扩展,则可以将代码的第一行设置为#%%。然后,如果您这样做,您的代码编辑器中会出现一个选项,上面写着“运行单元格”。点击此选项即可在代码编辑器中运行您的代码。这就像默认选项,因为所有带有#%%的Python代码都直接从代码编辑器中具有该选项。我将其发布为评论,因为我不知道这是否与您的问题相关。 - Natsfan
那是一个有用的技巧,感谢您的输入。 - Frâncio Rodrigues
3个回答

24

实现 @TwoUnderscorez 的答案的一种稍微更简洁的方式是只需使用 -m IPython 启动模块:

"python.terminal.launchArgs": [
   "-m",
   "IPython"
]

编辑:如果你遇到了IndentationError: unexpected indent错误,请尝试以下方法:

"python.terminal.launchArgs": [
   "-m",
   "IPython",
   "--no-autoindent",
]

(我不仅仅是想在现有的回答下添加评论,但我的声望值不够)


1
感谢“--no-autoindent”技巧!省去了我很多麻烦! - hsl
1
嗨,非常感谢,它运行得很好,但每次我需要在终端中单击并按回车键才能运行代码。有什么解决方法吗? - marcin
1
我已经找到了答案,这是我的回应: https://dev59.com/VLHma4cB1Zd3GeqPJ1Qi#61700005 - marcin
你真是个救命恩人。"--no-autoindent" 这个技巧真的帮了我大忙。谢谢你。 - Leonardo

8
  1. In your VSCode, press ctrl+shift+P, start typing settings and click on Preferences: Open Settings (JSON)

  2. Add this key-value pair to tell python to start ipython:

    "python.terminal.launchArgs": [
        "-c",
        "\"from IPython import start_ipython; start_ipython()\""
    ]
    

目前看来,这似乎是最好的解决方案。 - Frâncio Rodrigues

4

目前还没有支持指定替代REPL的功能,该功能不能使用Python解释器来执行代码。一些人使用的技巧是,如果你只是想将代码发送到REPL,则启动REPL一次,退出后手动启动ipython,因为扩展程序将继续使用该终端实例用于将来发送到REPL的代码。


哦,好的,我希望更新中能够提供更改REPL的内置方法。是的,那个解决方法解决了大部分问题。 - Frâncio Rodrigues
我们有一些关于交互式编码的计划,但我不能透露更多的细节 ;)。 - Brett Cannon
2
仅供参考,我在Linux机器上使用此解决方法时遇到了问题。当我尝试选择并运行(shift+enter)多行代码时,它只运行第一行。由于这些限制,我发现自己越来越多地使用jupyternotebook。这是一种奇怪的工作流程。 - Frâncio Rodrigues
@BrettCannon 这个问题有更新吗?对于初学者来说,如果他们可以在IPython中运行代码,那将非常好,但是如果你刚开始学习Python,让他们去编辑设置可能会是一个相当困难的任务。我认为如果安装了IPython,这应该是默认设置。 - cbrnr
1
@cbrnr 暂无更新,但请随时在 https://github.com/microsoft/vscode-python 上提出功能请求(我可以为您开启问题,但我正在度假,必须登录我的工作帐户才能打开问题)。 - Brett Cannon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接