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

tom*_*kas 80 python virtualenv python-3.x spyder anaconda

我一直在使用与Anaconda发行版一起安装的Spyder,它默认使用Python 2.7.目前,我需要使用Python 3.4设置开发虚拟环境.

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

  1. 首先设置虚拟环境并指向更改Spyder的首选项,例如此处 ;
  2. 在虚拟环境中安装所有Spyder依赖项,如PyQt4,例如这里 ;

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

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

tom*_*kas 91

可以选择使用所需的Python版本在Anaconda中创建虚拟环境.

conda create -n myenv python=3.4
Run Code Online (Sandbox Code Playgroud)

要激活它:

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)
Run Code Online (Sandbox Code Playgroud)

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

conda install spyder
Run Code Online (Sandbox Code Playgroud)

(我还使用pip测试了安装,但是对于Python 3.4或更早版本,它打破了需要手动安装的库依赖性错误.)

现在用Python 3.4运行Spyder只需输入:

spyder
Run Code Online (Sandbox Code Playgroud)

Spyder with Python 3.4

  • 我还发现,在Windows(10)上,刚刚从anaconda环境启动spyder仍然使用我的默认python启动spyder,我不得不首先在anaconda环境中安装spyder以打开spyder与该环境的python. (9认同)
  • 还要确保你通过`conda install -n myenv spyder`在那个环境中使用spyder (8认同)
  • 我在Windows 7上测试了这个并且它有效.您不需要在开头添加"source"一词来激活环境.要使用Python 2,7,请将设置更改为python = 2.7. (6认同)
  • 哦,也许你必须先将Spyder安装到该环境中?我用numpy而不是anaconda创建了环境,所以也许它在主环境中运行spyder? (4认同)
  • 这确实是个问题.与ipython相同但在环境中安装后修复了 (4认同)

ade*_*ago 82

这是2019年的快速方法.使用Anaconda Navigator:

  1. 打开Anaconda Navigator
  2. 根据需要创建新环境.我将此环境命名为"test".单击它以激活它.

在此输入图像描述

  1. 转到"主页"并单击Spyder框下的"安装".

在此输入图像描述

  1. 点击"启动/运行"

在设置环境时仍然存在一些小错误(其中大部分都是通过重新启动导航器来解决的),如果发现错误,请将其发布在Anaconda Issues错误跟踪器中.谢谢.


即使这样不起作用,Navigator仍然有用,点击> Enviroments将您带到这个环境中安装的模块的管理窗口,搜索并选择与spyder相关的模块,然后点击Apply将安装它们他们的依赖.

在此输入图像描述

  • 如果可能,应将其添加到顶级解决方案中 (8认同)
  • 我可以从命令行执行此操作吗?每次运行 Navigator 似乎都很麻烦…… (4认同)
  • 是的。似乎必须为每个 VE 安装不同的 Spyder 实例。 (3认同)
  • 方式,方式更好. (2认同)

Tin*_*Luu 52

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

conda install -n myenv spyder
Run Code Online (Sandbox Code Playgroud)

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

  • Spyder通常作为Anconda Python [包列表](https://docs.continuum.io/anaconda/pkg-docs)的一部分安装.仅在miniconda的情况下可能需要额外的安装. (2认同)

小智 38

什么对我有用:

  1. 从环境中运行spyder(源激活后)
  2. 去工具- >首选项- > Python解释器并选择要链接到ENV蟒蛇文件spyder 例如:/家/你/ anaconda3/ENVS/your_env /斌/蟒蛇

研究过ubuntu 16,spyder3,python3.6.

  • @Feras 对于未来的读者:我还认为步骤 1 是多余的。但忽略它会导致各种疯狂的错误(甚至导致 UI 错误和 Spyder 无响应)。 (5认同)

Ale*_*xis 38

要在所有环境中不重新安装 spyder,请按照此处的官方参考进行操作

总之(用 conda 测试):

  • Spyder 应该安装在基础环境中

从系统提示:

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

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

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

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

  • 停用环境(即返回 base conda deactivate

  • 运行 spyder ( spyder3)

  • 最后在 spyder Tool 菜单中转到 Preferences > Python Interpreter > Use the following interpreter 并粘贴环境 python 可执行路径

  • 重启 ipython 控制台

PS:在 spyder 中你应该在底部看到这样的东西在此处输入图片说明

  • 这是正确答案!另外,spyder安装可以在任何conda虚拟环境中。它不需要位于基础环境中。 (3认同)
  • 你是对的@Sanchit,你可以在每个环境中“pip/conda”安装spyder,然后可以从那里调用它,但是当你只需要一次安装时,这就是解决方案 (2认同)

Ste*_*alt 9

上面的答案是正确的,但我spyder在我的virtualenv内调用仍然会使用我PATH在我的默认anaconda env中查找spyder的版本.我发现这个答案给出了以下解决方法:

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
Run Code Online (Sandbox Code Playgroud)

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


Jer*_*mer 8

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

解决方案很简单:

激活您的虚拟环境.

然后在您的虚拟环境中安装Spyder及其依赖项(PyQt5).

然后从虚拟环境CLI启动Spyder3.

它现在适合我.


Rod*_*iro 6

来自Github上的 Spyder 官方页面:

天真的方法

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

模块化方法

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

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

为此,请按照下列步骤操作:

1-激活您想要工作的环境(例如)( 例如使用conda或virtualenv/venvmyenvconda activate myenvsource myenv/bin/activateworkon myenv

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)"

并复制该命令返回的路径(它应该以 pythonpythonw或结尾python.exepythonw.exe具体取决于您的操作系统)。

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

7- Spyder 启动后,导航至Preferences > Python Interpreter > Use the following interpreter步骤 3 中的路径并将其粘贴到文本框中。

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