常见问题#

安装与更新#

问:如何安装 Spyder?

安装 Spyder 最简单的方法是使用 Anaconda Python 发行版,它包含您开始所需的一切,是一个一体化的软件包。您可以从其网页下载。

欲了解更多信息,请访问我们的安装指南

问:如何在适用于 Linux 2 的 Windows 子系统 (WSL2) 上安装 Spyder?

如果您已在 Windows 机器上安装了 Spyder,那么如果您的代码必须在基于 WSL2 的 Linux 环境中运行,则无需在其中重新安装 Spyder。

相反,您只需在 WSL2 中安装Miniconda并创建一个新的 conda 环境(或使用现有的 conda 或 virtualenv),然后将 Spyder-Kernels 安装到该环境中,例如使用conda install spyder-kernels。您必须手动安装ipython_genutils,例如使用conda install ipython_genutils

注意

Windows 会创建一个位于\\wsl$的网络路径,指向您的 WSL2 机器分区,例如\\wsl$\Ubuntu-20.04。您必须将网络驱动器号映射到您的机器路径,例如W:,以便 Spyder 正确识别其文件和文件夹。

要启动 Spyder 内核,请在 Linux 终端中运行

python -m spyder_kernels.console --matplotlib="inline" --ip=127.0.0.1 -f=~/remotemachine.json &

它将作为子进程运行内核,并在您的 WSL 主文件夹中创建一个名为remotemachine.json的文件。

最后,在 Spyder 的IPython 控制台的选项菜单下,选择连接到现有内核,如使用外部内核中所述。将remotemachine.json的绝对路径插入连接文件字段。如果您如上述注释中所述将W:映射,则路径应为W:/home/username/remotemachine.json。Spyder 中将打开一个新控制台,并在 Linux 环境中运行。尝试运行os.system('ls -la'),看看它是否列出了您的 WSL 主文件夹。如果您从 Spyder 运行exit(),则在 Linux 上运行的内核将停止。

问:如何使用 conda 更新 Spyder?

在命令行(或 Windows 上的 Anaconda 提示符)中,运行

conda update anaconda
conda update spyder

如果这导致错误或未将 Spyder 更新到最新版本,请尝试

conda install spyder=5
问:如何使用 Anaconda Navigator 更新 Spyder?

在 Navigator 的主页部分下的 Spyder 区域中,打开“齿轮”菜单。转到安装特定版本并选择您要使用的 Spyder 版本。我们强烈建议使用最新版本,以受益于新功能、错误修复、性能改进和可用性增强。

Navigator showing installing specific version of Spyder

运行 Spyder#

问:如何运行 Spyder?

您可以通过以下任何方式启动它

  • 从命令行:在您的终端(或 Windows 上的 Anaconda 提示符)中键入spyder

  • 从 Anaconda Navigator:在主页下滚动到Spyder,然后点击启动

    Navigator showing running a specific version of Spyder
  • *仅限 Windows*:通过“开始”菜单快捷方式启动。

    Spyder shortcut in the Windows Start menu
问:我可以不安装就试用 Spyder 吗?

可以!借助Binder,您可以使用一个功能齐全的 Spyder 副本,它可在您的网络浏览器中直接运行。在此处尝试

问:Spyder 的系统要求是什么?它对资源消耗大吗?

Spyder 可通过 Anaconda 以及其他方式在现代版本的 Windows、macOS 和 Linux 上运行(有关推荐版本,请参阅下表)。它在空闲时通常占用较少的 CPU,并使用 0.5 GB - 1 GB 的 RAM,具体取决于您使用它的时间以及打开的文件、项目、窗格和控制台的数量。它应该在任何具有双核或更好 x64 处理器和至少 4 GB RAM 的系统上运行,尽管强烈建议使用 8 GB 以在运行其他应用程序时获得最佳性能。但是,您运行的代码,例如科学计算和深度学习模型,可能需要 Spyder 自身之外的额外资源。

操作系统

版本

Windows

Windows 8.1

macOS

High Sierra (10.13)

Linux

Ubuntu 16.04

问:如何使用 Anaconda Navigator 运行安装在 conda 环境中的 Spyder?

应用程序下选择要从中启动 Spyder 的环境。如果 Spyder 已安装在此环境中,您将在 Navigator 的主页窗口中看到它。点击启动以在您选择的环境中启动 Spyder。

Navigator showing running Spyder in a specific environment
问:如何使用命令行运行安装在 conda 环境中的 Spyder?

在您的终端(或 Windows 上的 Anaconda 提示符)中键入以下内容以激活您的 conda 环境

conda activate <ENVIRONMENT-NAME>

然后,键入spyder以启动安装在该环境中的版本。

使用 Spyder#

问:如果我使用 conda 安装了 Spyder,如何在 Spyder 中使用 Python 包?

安装包的首选方法是使用 conda。在您的系统终端(或 Windows 上的 Anaconda 提示符)中,键入

conda install <PACKAGE-NAME>

如果您的安装不成功,请按照我们关于解决和避免 pip、Conda 和 Conda-Forge 问题的视频的第二部分中的步骤 3 到 5 进行操作。

问:如何让 Spyder 与我现有的 Python 包/环境协同工作?

要在 Spyder 中使用现有环境,请更改新IPython 控制台的默认 Python 解释器以指向该环境。

为此,请打开 Spyder 首选项中的Python 解释器部分(工具 ‣ 首选项,或 macOS 上的Spyder ‣ 首选项)。在此处,选择使用以下 Python 解释器选项,并使用下面的下拉菜单选择您偏好的环境。如果未列出,请参阅下面的注释

Preferences showing changing Python interpreter

注意

如果您将 Miniconda(或其他基于 Conda 的发行版)安装到非默认路径,或者正在使用由pyenv以外的工具管理的虚拟环境,您的环境可能不会被列出。

相反,使用文本框或选择文件按钮输入您要使用的 Python 解释器的路径。您可以通过在终端(Windows 上的 Anaconda 提示符)中激活您要使用的 venv 或 Conda 环境并运行命令来找到此路径。

python -c "import sys; print(sys.executable)"

最后,点击控制台菜单中的重新启动内核以使此更改生效。如果spyder-kernels尚未安装,IPython 控制台将显示如何安装正确版本的说明。在您的终端(Windows 上的 Anaconda 提示符)中执行给定的命令,并激活环境,最后再次重新启动内核。

问:如果我从独立安装程序下载了 Spyder,如何在 Spyder 中使用 Python 包?

观看我们关于使用附加包的视频或遵循以下说明。

如果您想在 Spyder 中使用我们安装程序不附带的其他包,您需要安装自己的 Python 发行版;我们推荐Miniconda或其他基于 Conda 的选项。为了让 Spyder 自动识别它,您应该使用默认安装路径的基于 Conda 的发行版。

创建一个包含spyder-kernels和您想要使用的包的新 conda 环境。例如,如果您想使用scikit-learn,请打开您的终端(或 Windows 上的 Anaconda 提示符)并运行以下命令

conda create -n my-env -c conda-forge spyder-kernels scikit-learn

最后,按照上述答案中的说明,通过更改 Spyder 的默认 Python 解释器,将 Spyder 连接到此my-env环境。

问:如何将 Spyder 的首选项重置为默认值?

您可以使用 Spyder 菜单栏工具下的将 Spyder 重置为出厂默认设置选项,或重置 Spyder 设置的“开始”菜单快捷方式(Windows),或在您的系统终端(Windows 上的 Anaconda 提示符)中运行spyder --reset

Spyder reset button in tools
问:如何更改 Spyder 的语言?

在 Spyder 的首选项中,进入常规部分,然后转到高级设置选项卡,并从语言下显示的选项中选择您的语言。

Spyder change language in preferences.
问:如何在 Spyder 中使用代码单元?

要在 Spyder 的编辑器中创建一个单元,请在您的脚本中键入#%%。每个#%%都会创建一个新单元。要运行一个单元,请按Shift-Enter(当您的光标聚焦在该单元上时)或使用 Spyder 工具栏中的运行当前单元按钮。

Spyder showing cell generation.
问:如何将插件与 Spyder 一起使用(例如 Spyder-Notebook、Spyder-Terminal、Spyder-Unittest)?

Spyder 插件可在conda-forgeconda 频道中获取。要安装一个,请在命令行(或 Windows 上的 Anaconda 提示符)中键入

conda install -c conda-forge <PLUGIN>

<PLUGIN>替换为您要使用的插件名称。有关特定插件的更多信息,请访问其仓库

问:如何在执行代码之前清除所有变量?

运行菜单下,“按文件配置…”对话框中选中执行前移除所有变量选项。

Spyder showing cell generation.
问:如何在我自己的控制台或外部系统终端中运行代码?

运行菜单下,“按文件配置…”对话框中选择适当的选项。

Spyder showing cell generation.
问:如何更改编辑器中的语法高亮主题?

前往首选项,并在外观部分的语法高亮主题下选择您想要的主题。

Spyder showing cell generation.

故障排除#

问:我发现了 Spyder 的一个 bug 或问题。我该怎么办?

您应该首先遵循我们的故障排除指南中的步骤。如果无法解决问题,请按照我们的提交报告部分中的说明打开一个问题。

问:我在 IPython 控制台中运行代码时遇到错误!求助!

首先,请确保您看到的错误不是您代码中的 bug。要确认这一点,请尝试在任何标准 Python 解释器中运行它。如果错误仍然存在,问题可能出在您的代码上,像Stack Overflow这样的网站可能是最好的起点。否则,请从我们的故障排除指南的基本急救部分开始。

问:代码补全/帮助不起作用;我该怎么办?

如果在调用提示、悬停提示或帮助窗格中没有显示任何内容,请确保您正在检查的对象有文档字符串,并尝试在IPython 控制台中执行您的代码以获取帮助和补全。如果这不起作用,请尝试右键单击 Spyder 主窗口底部状态栏中的LSP Python标签项,然后选择重新启动 Python 语言服务器选项来重新启动 PyLS。

欲了解更多信息,请前往我们故障排除指南中常见问题页面的代码补全/帮助不起作用部分。

问:我收到“启动内核时发生错误”的消息。如何解决?

首先,请确保您的 Spyder-Kernels 版本与 Spyder 版本兼容。请参阅故障排除指南中Spyder-Kernels 未安装/不兼容部分中的表格进行检查。

要安装正确的版本,请在命令行(或 Windows 上的 Anaconda 提示符)中键入以下内容

conda install spyder-kernels=<VERSION>

欲了解更多信息,请前往我们故障排除指南中常见问题页面的启动内核错误部分。

问:Spyder 在 macOS Big Sur 上无法启动或运行缓慢。我该如何解决?

Spyder 正在更新以完全兼容 macOS 11 Big Sur 的最后阶段,这将作为 4.2.1 版本的一部分在 2020 年底发布。但是,您现在可以使用以下解决方法使其工作。请确保您已安装 Anaconda 或 Miniconda 发行版,并在终端中运行以下命令,以从 Conda-Forge 在干净的环境中安装 Spyder

conda create -n spyder-dev python=3
conda activate spyder-dev
conda install -c conda-forge spyder

然后,每当您想启动 Spyder 时,从终端运行以下命令

conda activate spyder-dev
export QT_MAC_WANTS_LAYER=1
spyder

关于 Spyder#

问:Spyder 的许可情况如何?是否允许商业用途?

Spyder 是 100% 免费和开源的;没有付费版本,也没有商业使用禁令。它由其国际用户社区开发,并通过OpenCollective及其慷慨的赞助组织(包括QuansightNumFOCUS)获得用户支持。我们的源代码、独立安装程序和大多数分发方法(Pip/PyPI、Linux 发行版、MacPorts、WinPython 等)可以被任何人自由地重新分发、使用和修改,用于任何目的,包括商业用途。有关 Anaconda 情况的更多详细信息,请参阅相关问题

问:Anaconda 的许可变更对 Spyder 意味着什么?

如果您使用 Anaconda 发行版与 Spyder 结合,他们最近更改了服务条款,对大型(员工数 > 200 人)营利性公司大规模使用 Anaconda 增加了限制。但是,这些条款仅适用于包基础设施(完整的 Anaconda 发行版和defaultsconda 频道)。相反,您可以简单地下载类似的Miniforge 发行版,它是 100% 开源的,与完整的 Anaconda 相同(除了不捆绑 Anaconda base环境中默认安装的 Python 包,鉴于任何问题都可能破坏您的整个安装,我们建议您避免使用它)。然后,像往常一样,使用conda安装您需要的包(包括 Spyder,如果您没有使用我们推荐的独立安装程序)。Miniforge 将自动使用社区维护的 Conda-Forge 仓库,它拥有更广泛的包种类,并且通常比 Anaconda 等效版本更新,此外还没有任何商业限制。欲了解更多信息,请参阅我们的安装指南