IPython控制台#
IPython控制台允许您在IPython解释器中执行命令并与数据进行交互。
要启动一个新的IPython实例,请转到Consoles菜单下的New console (default settings),或者在控制台获得焦点时使用键盘快捷键Ctrl-T(在macOS上是Cmd-T)。
从同一菜单中,您可以使用中断内核停止当前执行的代码,使用移除所有变量清除控制台的命名空间,或使用重启内核重新启动一个新的控制台。 由于每个控制台都在单独的进程中执行,这不会影响您已打开的其他控制台,您将能够在干净的环境中轻松测试代码,而不会干扰您的主会话。
支持的功能#
任何 IPython 控制台,无论是 外部 启动的还是由 Spyder 启动的,都支持:
自动代码补全
实时函数调用提示
与增强版Spyder 调试器的完整GUI集成。
变量浏览器,提供基于图形界面的编辑器,支持多种内置和第三方Python对象。
在Spyder的Plots面板中显示Matplotlib图形(如果在Preferences ‣ IPython console ‣ Graphics ‣ Graphics backend下选择了Inline后端),并且如果在Plots面板的选项菜单中未勾选Mute inline plotting,则会在控制台中内联显示。
有关IPython内置功能、命令和特性的信息,请参阅IPython文档。
特殊控制台#
Spyder还支持多种类型的专用控制台。 Sympy控制台可以直接在Spyder中创建和显示符号数学表达式。 Cython控制台允许您使用Cython语言加速代码并直接从Python调用C函数。 最后,Pylab控制台默认加载常见的Numpy和Matplotlib函数;虽然在新代码中已弃用并强烈不建议使用,但对于需要它的遗留脚本仍可在必要时使用。
使用外部内核#
您可以通过Consoles菜单下的Connect to an existing kernel对话框连接到外部本地和远程内核(包括由Jupyter Notebook或QtConsole管理的那些内核)。
要使此功能正常工作,必须在运行外部内核的环境或机器中安装兼容版本的spyder-kernels包must be installed。
连接到本地内核#
要连接到已经运行的本地内核(例如由Jupyter notebook启动的内核),
在您想要连接的notebook或控制台中运行
%connect_info,并复制其内核连接文件的名称,该名称显示在jupyter之后。--existing
在Spyder中,点击Consoles菜单中的连接到现有内核,并粘贴上一步中的连接文件名称。
为了方便起见,在连接文件路径字段中输入的内核ID号(例如
1234)将自动扩展为文件的完整路径,即jupyter/runtime/dir/path/kernal-id.json。
点击 确定 连接到内核。
连接到远程内核#
要连接到远程机器上的内核,
如果远程主机上尚未运行Spyder内核,则使用
python -m spyder_kernels.console命令启动一个。
将内核的连接文件(
jupyter/runtime/dir/path/kernel-pid.json)复制到运行Spyder的机器上。您可以通过在与内核相同的Python环境中执行
jupyter --runtime-dir来获取jupyter/runtime/dir/path。 通常,您要找的连接文件会是该目录中最新创建的文件之一,对应您启动外部内核的时间。
点击Consoles菜单中的连接到现有内核,然后浏览或输入上一步中连接文件的路径。
为了方便起见,如果在连接文件路径字段中输入内核ID号(例如
1234),且您已将连接文件复制到本地机器上,则该ID号将被自动扩展为jupyter/runtime/dir/path/kernal-id.json格式。
勾选这是一个远程内核(通过SSH连接)复选框,并输入主机名或IP地址、用户名以及远程机器上的连接端口。 然后,输入远程机器上
username的密码,或者浏览到已注册的SSH密钥文件(通常位于本地机器用户主目录的.ssh文件夹中,常命名为id_rsa或类似名称);只需其中一种认证方式即可连接。 如果勾选保存连接设置,这些信息将被记住,并在下次打开对话框时自动填充。请注意端口是指远程机器上SSH守护进程(
sshd)监听的端口号,默认为22,除非您或管理员已另行配置。
点击 确定 连接到远程内核
有关连接远程内核的更多技术细节,请参阅IPython Cookbook中的连接到远程内核页面。
重新加载已更改的模块#
在交互式会话中工作时,Python只会从源文件加载模块一次,即首次导入时。
Spyder的用户模块重载器(UMR)可以在模块被修改并重新导入时,自动在现有的IPython控制台中重新加载它们。 启用UMR后,您无需重启内核即可测试代码更改。
UMR默认已启用,它会在控制台中显示红色的Reloaded modules:消息,列出激活时已刷新的文件。
如果需要,您可以在下开启或关闭该功能,并阻止特定模块被重新加载。