IPython控制台

这个 IPython控制台 允许您执行命令并与其中的数据交互 IPython 口译员。

Spyder IPython Console with code, inline plots, and the In prompt

To launch a new IPython instance, go to New console (default settings) under the Consoles menu, or use the keyboard shortcut Ctrl-T (Cmd-T on macOS) when the console is focused.

Spyder showing opening a new Ipython Console

从同一菜单中,您可以使用以下命令停止当前正在执行的代码 Interrupt kernel ,使用清除控制台的命名空间 Remove all variables ,或使用以下工具重新启动一个新版本 Restart kernel 。因为每个控制台都在单独的进程中执行,所以这不会影响您已经打开的任何其他控制台,并且您将能够在一个干净的环境中轻松地测试您的代码,而不会中断您的主会话。

支持的功能

任何 IPython Console ,是否 external 或由Spyder启动,支持:

  • 自动代码完成

  • 实时函数调用提示

  • 与增强型Spyder完全集成GUI Debugger

  • 这个 变量资源管理器 ,为许多内置和第三方Python对象提供了基于GUI的编辑器。

  • Spyder中Matplotlib图形的显示 地块 窗格,如果 Inline 在以下位置选择后端 Preferences ‣ IPython console ‣ Graphics ‣ Graphics backend ,并在控制台中内联(如果 Mute inline plotting 选项下的未选中状态。 Plots 窗格的选项菜单。

Spyder IPython Console, with a popup list of code completion guesses

有关IPython本身内置的特性、命令和功能的信息,请参阅 IPython documentation

特殊控制台

Spyder还支持几种类型的专用控制台。一个 Sympy console 在Spyder内部启用创建和显示符号数学表达式。一个 Cython console 允许您使用Cython语言加速您的代码,并直接从Python调用C函数。最后,一个 Pylab console 默认情况下加载常见的Numpy和Matplotlib函数;虽然不建议并强烈建议新代码这样做,但如果需要它的遗留脚本,仍可以使用它。

Spyder showing opening a new special Console

选项菜单

The options menu allows you to inspect your current environment variables (Show environment variables), and the contents of your system's PATH (Show sys.path contents). In addition, you can have each console display how long it has been running with Show elapsed time.

Spyder IPython Console with options menu

您还可以更改当前 IPython console 使用选项卡 Rename tab 选项,或者只需双击它。

Spyder IPython Console showing renaming console

使用外部内核

属性连接到外部本地和远程内核(包括由Jupyter Notebook或QtConsole管理的内核 Connect to an existing kernel 对话框中的 Consoles 菜单。要使此功能正常工作,需要 spyder-kernels 套餐 must be installed 在运行外部内核的环境或机器中。

Connect to external kernel dialog of the Spyder IPython console

连接到本地内核

为了连接到已经在运行的本地内核(例如,由Jupyter笔记本启动的内核),

  1. %connect_info 在要连接的笔记本或控制台中,复制其内核连接文件的名称,如下所示 jupyter <app> --existing

    Running connect_info in a Jupyter notebook
  2. 在Spyder中,单击 Connect to an existing kernelConsoles 菜单,然后粘贴 Connection file 从上一步开始。

    为方便起见,内核ID号(例如 1234 在连接文件路径字段中输入的)将扩展为文件的完整路径,即 {jupyter/runtime/dir/path}/kernal-{id}.json

    Copying the connection filename into Spyder's dialog
  3. 单击 OK 来连接到内核。

    Connecting to the kernel and running basic commands.

连接到远程内核

要连接到远程机器上的内核,请执行以下操作:

  1. 在远程主机上启动Spyder内核(如果尚未运行),并使用 python -m spyder_kernels.console

    Staring a Spyder kernel on a remote machine
  2. 复制内核的连接文件 ({jupyter/runtime/dir/path}/kernel-{pid}.json )添加到您正在运行Spyder的机器上。

    你可以拿到 {jupyter/runtime/dir/path} 通过执行 jupyter --runtime-dir 在与内核相同的Python环境中。通常,您要查找的连接文件将是此目录中最新的文件之一,与您启动外部内核的时间相对应。

    Using SCP to copy the connection file to the local machine
  3. 单击 Connect to an existing kernelConsoles 菜单,然后浏览或输入上一步中的连接文件的路径。

    为方便起见,内核ID号(例如 1234 在连接文件路径字段中输入的)将展开为 {jupyter/runtime/dir/path}/kernal-{id}.json 在您的本地计算机上,如果您已将连接文件复制到那里。

    Opening the connect to kernel dialog and browsing for the path
  4. 检查 This is a remote kernel (via SSH) 框中,然后输入 Hostname 或远程机器上要连接到的IP地址、用户名和端口。然后,输入 或者 {username} 的密码,或浏览到SSH密钥文件(通常位于 .ssh 本地计算机上您的主文件夹中的目录,通常称为 id_rsa 或类似的);只需要一个来连接。如果你勾选 Save connection settings ,这些详细信息将在您下次打开该对话框时自动记住并填写。

    请注意, Port 是远程计算机上SSH守护进程 (sshd )正在侦听,通常为22,除非您或您的管理员另有配置。

    Entering pre-filled SSH details into the connection dialog
  5. 单击 OK 要连接到远程内核,请执行以下操作

    Connecting to the remote kernel and running basic commands

有关连接到远程内核的更多技术详细信息,请参阅 Connecting to a remote kernel IPython Cookbook中的页面。

重新加载更改的模块

在交互式会话中工作时,Python只从源文件加载一次模块,即第一次导入模块。

斯派德的 User Module Reloader (UMR)每当修改和重新导入模块时,都会在现有的IPython控制台中自动重新加载模块。启用UMR后,您可以在不重新启动内核的情况下测试对代码的更改。

Spyder showing reloading modules in console

默认情况下,UMR处于启用状态,它将为您提供红色 Reloaded modules: 控制台中的消息,列出激活时已刷新的文件。如果需要,您可以在以下位置打开或关闭它,并防止重新加载特定模块 Preferences ‣ Python interpreter ‣ User Module Reloader (UMR)

Spyder preferences showing option to use module reloader