如何在虚拟环境中运行 Spyder?

Posted

技术标签:

【中文标题】如何在虚拟环境中运行 Spyder?【英文标题】:How to run Spyder in virtual environment? 【发布时间】:2015-07-22 02:56:35 【问题描述】:

我一直在使用随 Anaconda 发行版一起安装的 Spyder,该发行版默认使用 Python 2.7。目前我需要用 Python 3.4 建立一个开发虚拟环境。

在线研究后的前两个建议是:

    首先设置虚拟环境并点更改 Spyder 的首选项,例如here; 在虚拟环境本身中安装所有 Spyder 依赖项,例如 PyQt4,例如。 G。 here;

这两个建议都很麻烦,看起来不像是开发的明智选择。

是否有一种解决方案可以在激活所需的虚拟环境后自动运行具有所需 Python 版本的 Spyder?

【问题讨论】:

【参考方案1】:

这是在 2021 年使用 Anaconda Navigator 的快速方法。这是最可靠的方法,除非您想以编程方式创建环境,我认为大多数用户都不会这样做:

    打开 Anaconda 导航器。 单击环境 > 创建并为您的环境命名。如果需要,请务必更改 Python/R 内核版本。

    转到“主页”并单击 Spyder 框下的“安装”。

    点击“启动/运行”

在搭建环境的时候还是有一些小bug,大部分应该通过重启Navigator来解决。

如果您发现错误,请帮助我们将其发布到 Anaconda Issues 错误跟踪器!如果您在创建环境时遇到问题,或者环境没有正确创建,您可以仔细检查安装的内容:单击“环境”会打开一个管理窗口,显示已安装的软件包。搜索并选择 Spyder 相关的包,然后点击“应用”进行安装。

【讨论】:

是的。似乎必须为每个 VE 安装不同的 Spyder 实例。 我可以从命令行执行此操作吗?每次运行 Navigator 都像是拖累... @nocibambi 是的,如果您只是想在 cmd 的环境中运行 Spyder,请参阅 tomaskazemekas 答案的底部。 使用此方法后,我注意到 Anaconda 将 Spyder 安装在 in 虚拟环境中。环境文件夹的大小增加了约 700Mb。这是否意味着我让我的环境变得不必要地沉重?我想使用 Spyder 作为我的开发环境,但不希望在我将脚本部署到服务器时需要安装它。 @FabioOliveira ~733Mb 主要是项目中可能需要的库和二进制文件。但是,如果您决定不包含这些库,您的最终部署将不需要它们。一个脚本的空间不大可能超过 5Mb,而在具有数百个库的 prod-server 上运行的完整工作的已部署脚本可能需要 300Mb。【参考方案2】:

create virtual environments in Anaconda 有一个选项,需要 Python 版本。

conda create -n myenv python=3.4

激活它:

source activate myenv   # (in linux, you can use . as a shortcut for "source")
activate myenv          # (in windows - note that you should be in your c:\anaconda2 directory)

更新。我已经用 Ubuntu 18.04 对其进行了测试。现在您必须使用此命令为新环境额外安装 spyder(在使用上述命令激活环境之后):

conda install spyder

(我也用 pip 测试过安装,但是对于 Python 3.4 或更早的版本,它会因需要手动安装的库依赖错误而中断。)

现在要使用 Python 3.4 运行 Spyder,只需键入:

spyder

来自读者的编辑:

要正常打开,请使用“Anaconda Prompt”>activate myenv>spyder(然后“Anaconda Prompt”必须保持打开状态,您不能将其用于其他命令,并且强制关闭将关闭 Spyder) .这当然比“Anaconda Navigator”>切换环境>启动Spyder(@adelriosantiago的回答)的长时间加载要快。

【讨论】:

我已经在 Windows 7 上测试过它并且它有效。您无需在开头添加“源”一词即可激活环境。要拥有 Python 2,7,请将设置更改为 python=2.7。 哦,也许您必须先将 spyder 安装到该环境中?我用 numpy 而不是 anaconda 创建了环境,所以它可能是从主环境运行 spyder? 这似乎是问题所在。与 ipython 相同,但在环境中安装后已修复 我还发现在 windows(10) 上,刚从 anaconda 环境启动 spyder 仍然使用我的默认 python 启动 spyder,我必须先在 anaconda 环境中 conda install spyder 才能打开 spyder环境的python。 另外,通过conda install -n myenv spyder确保你在那个环境中有spyder【参考方案3】:

什么对我有用:

    从环境中运行 spyder(源激活后) 转到工具 --> 首选项 --> python 解释器,然后从要链接到spyder 的环境中选择 python 文件 例如:/home/you/anaconda3/envs/your_env/bin/python

曾在 ubuntu 16、spyder3、python3.6 上工作过。

【讨论】:

在尝试了所有其他帖子和其他帖子之后(尝试了两天!),这是唯一可行的解​​决方案,以便在 Spider 中设置适当的环境 envs.. 不需要步骤 (1),因为步骤 (2) 已经将解释器路由到环境。 @Feras 对于未来的读者:我还认为第 1 步是多余的。但是忽略它会导致各种疯狂的错误(甚至导致 UI 出错和 Spyder 无响应)。 你的意思不是 conda 环境,对吗?否则,如果不在那里安装 Spyder,您将无法从环境下启动 Spyder。如果您安装了它,则无需在 Spyder 的首选项中更改 python 解释器。【参考方案4】:

除了 tomaskazemekas 的回答:您应该通过以下方式在该虚拟环境中安装 spyder:

conda install -n myenv spyder

(在 Windows 上,对于 Linux 或 MacOS,您可以搜索类似的命令)

【讨论】:

Spyder 通常作为 Anconda Python package list 的一部分安装。仅在 miniconda 的情况下可能需要额外安装。 是的,没错。就我而言,我之前安装了我的虚拟环境,它是一个轻量级的版本,我只安装非常必要的包。我想有人和我一样。 @tomaskazemekas 先生,我安装了 miniconda3 :) 我如何在 spyder 中运行我的 python 代码,因为我不知道如何运行 spyder?当我在 miniconda 提示“无法识别此命令”中键入“spyder”时,会生成错误。 @Noman marwat 由于 spyder 不是 miniconda 的一部分,因此您必须在使用命令 conda install spyder 运行之前安装它。 之后,在myenv/bin 目录中查找符号链接并将其复制到Applications 文件夹中,这样您就可以轻松找到它并在其环境中启动Spyder,而无需输入一个小的,黑窗! (如果您喜欢图标,您也可以轻松地为其添加图标)【参考方案5】:

要在所有环境中不重新安装 spyder,请遵循官方参考 here。

总结(用 conda 测试):

Spyder 应该安装在基础环境中

从系统提示:

创建一个新环境。请注意,根据您的创建方式(conda、virtualenv),环境文件夹将位于系统上的不同位置)

激活环境(例如,conda activate [yourEnvName]

在环境中安装 spyder-kernels(例如,conda install spyder-kernels

在环境中查找并复制 python 可执行文件的路径。可以在提示符下使用此命令python -c "import sys; print(sys.executable)"

找到此路径

停用环境(即返回基地conda deactivate

运行 spyder (spyder3)

最后在 spyder 工具菜单中转到 Preferences > Python Interpreter > 使用以下解释器并粘贴环境python可执行路径

重启 ipython 控制台

PS:在 spyder 中你应该在底部看到类似这样的

【讨论】:

请注意,当使用 virtualenv 和 spyder 4.1.3 时,底线不会出现任何确认(尽管一切正常) 这是正确答案!另外,spyder的安装可以在任何conda虚拟环境中。它不需要在基础环境中。 你是对的@Sanchit,你可以在每个环境中“pip/conda”安装 spyder,然后可以从那里调用它,但是当你只想要一个安装时,这就是解决方案 当我使用这种方法,在基础环境中安装 spyder,然后将解释器设置为我的 virtualenv 时,基础环境在 sys.path 中有先例,我从这个环境而不是我的 virtualenv 导入包时有重复。我最终将 spyder 安装到 virtualenv 中。 另一种通过使用 sys.path 安装 spyder-kernels+ 来查找 python 路径的替代方法,也可以在终端中激活特定的 conda 环境并输入 which python【参考方案6】:

以上答案是正确的,但我在我的 virtualenv 中调用 spyder 仍会使用我的 PATH 在我的默认 anaconda env 中查找 spyder 的版本。我找到了this answer,它提供了以下解决方法:

source activate my_env            # activate your target env with spyder installed
conda info -e                     # look up the directory of your conda env
find /path/to/my/env -name spyder # search for the spyder executable in your env
/path/to/my/env/then/to/spyder    # run that executable directly

我选择了这个而不是修改PATH 或在PATH 中以更高优先级添加可执行文件的链接,因为我觉得这不太可能破坏其他程序。但是,我确实在~/.bash_aliases 中为可执行文件添加了别名。

【讨论】:

【参考方案7】:

我在尝试让 Spyder 在虚拟环境中运行时遇到了同样的问题。

解决方法很简单:

激活您的虚拟环境。

然后在您的虚拟环境中 pip install Spyder 及其依赖项 (PyQt5)。

然后从您的虚拟环境 CLI 启动 Spyder3。

现在对我来说很好用。

【讨论】:

这不再适用于 ubuntu 16 下的 python2。有什么变通的想法吗? Python 2 已弃用。建议并建议您将自己升级到使用 Python 3。【参考方案8】:

在 Windows 上:

你可以创建一个快捷方式执行

Anaconda3\pythonw.exe Anaconda3\cwp.py Anaconda3\envs\<your_env> Anaconda3\envs\<your env>\pythonw.exe Anaconda3\envs\<your_env>\Scripts\spyder-script.py

但是,如果您从 Anaconda shell 中的 venv 启动 spyder,它会在 Windows 菜单中自动为您创建此快捷方式。步骤:

    使用此处其他答案中提到的方法在您的 venv 中安装 spyder。

    (在蟒蛇中:)activate testenv; 虽然在我的情况下,这一步是不需要的。

    查找windows菜单“最近添加”或在windows菜单中搜索“spyder”,找到spyder (testenv)

[将其添加到任务栏] 和/或

[查找文件源位置]并将其复制到您的桌面,例如来自C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit),在这里可以找到我的任何环境的 spyder 链接。

现在您可以直接从快捷方式启动 spyder,而无需打开 anaconda 提示符。

【讨论】:

【参考方案9】:

来自Github的Spyder官方页面:

天真的方法

要在另一个环境中使用 Spyder,最简单的方法是 将其直接安装到您要使用的环境中 包,然后从那里运行它。这适用于所有 Spyder 版本,并且在 IDE 安装后不需要额外配置 已安装;但是,它会导致多个安装来管理和 不像替代方案那样灵活或可配置。因此,当 处理多种环境,我们推荐模块化 接近。

模块化方法

从 Spyder 3.3.1 开始,可以安装模块化 spyder-kernels 打包到任何 Python 环境中 (conda 环境,virtualenv/venv,系统 Python,WinPython,)在 您希望工作,然后更改使用的 Python 解释器 Spyder 在其 IPython 控制台上指向 Python 可执行文件 那个环境。

这需要少量的准备和配置,但 比完整的 Spyder 安装“更轻”和更快 环境,避免依赖冲突,开辟新的工作流程 可能性。

要实现这一点,请按照下列步骤操作:

1- 激活您想要工作的环境(eg myenv)(eg 对于 conda,conda activate myenvsource myenv/bin/activate 或 @ 987654328@ 用于 virtualenv/venv,

2- 在此处安装spyder-kernels 软件包,使用以下命令:

3- conda install spyder-kernels 如果使用 conda/Anaconda,

4- pip install spyder-kernels 如果使用 pip/virtualenv。

5- 通过任一方法安装后,在同一环境中运行以下命令:

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

并复制该命令返回的路径(它应该以 pythonpythonwpython.exepythonw.exe,取决于您的 操作系统)。

6- 停用该环境,激活安装 Spyder 的环境(如果您已将其安装在其自己的环境中)并启动 像往常一样使用 Spyder。

7- Spyder 启动后,导航到Preferences &gt; Python Interpreter &gt; Use the following interpreter 并粘贴路径 第 3 步进入文本框。

8- 启动一个新的 IPython 控制台。在myenv 环境中安装的所有软件包都应该在那里可用。如果使用 conda,则 当前环境的名称及其 Python 版本应为 显示在 Spyder 的状态栏中,将鼠标悬停在其上应显示 所选解释器的路径。

【讨论】:

【参考方案10】:

我遵循上述建议之一,确实有效。总之,当您在 Ubuntu 上下载 Anaconda 时,使用上面给出的建议可以帮助您'创建' 环境。在我的情况下,您下载 Spyder 时的默认设置是:(base) smith@ubuntu ~$。创建环境后,即 fenics 并使用 $ conda activate fenics 激活它,提示符更改为 (fenics) smith@ubuntu ~$。然后你从这个提示符启动 Spyder,即 $ spyder 并且你的系统打开 Spyder IDE,你可以在上面写 fenics 代码。请记住,每次打开终端时,系统都会打开默认提示。您必须激活您的包所在的环境并立即更改它,即(fenics)。

【讨论】:

【参考方案11】:

对我来说,以下工作:

打开Anaconda,设置新环境,然后选择环境并点击播放图标,如下图:

然后点击打开终端,在终端中输入“spyder”,它将打开带有所选环境的spyder。

注意:对我来说,直接从主页打开 Sypder 总是使用基本环境打开。

【讨论】:

以上是关于如何在虚拟环境中运行 Spyder?的主要内容,如果未能解决你的问题,请参考以下文章

如何恢复python编程环境spyder的窗口

如何将ipython添加入spyder的python console中

在所有 Anaconda 环境中,Spyder 在加载期间不断崩溃

虚拟环境下的spyder安装

如何使用 conda 在 spyder 上导入 dlib?

ModuleNotFoundError:没有名为“pywhatkit”的模块