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


99

我一直在使用随Anaconda发行版安装的Spyder,后者使用Python 2.7作为默认值。当前,我需要使用Python 3.4设置开发虚拟环境。

经过网上研究后,最重要的两个建议是:

  1. 首先建立虚拟环境并指出改变Spyder的偏好,例如在这里 ;
  2. 在虚拟环境本身中安装所有Spyder依赖项,例如PyQt4,例如在这里

两项建议都很繁琐,看起来也不是明智的开发选择。

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

Answers:


118

这是在2020年实现的快速方法。使用Anaconda Navigator:

  1. 打开Anaconda Navigator
  2. 根据需要创建新环境。我将此环境命名为“测试”。单击它将其激活。

在此处输入图片说明

  1. 转到“主页”,然后在Spyder框下单击“安装”。

在此处输入图片说明

  1. 点击“启动/运行”

设置环境时,仍然存在一些小错误(大多数问题可以通过重新启动Navigator来解决),如果发现错误,请将其发布到Anaconda Issues bug-tracker中。谢谢。


如果仍然无法解决问题,导航器仍然有用,单击>环境会将您带到该环境中安装的模块的管理窗口,搜索并选择与spyder相关的模块,然后单击应用将安装它们并他们的依赖性。

在此处输入图片说明


11
如果可能的话,应该将其添加到顶级解决方案中
dward4 '18

2
方式,方式更好。
Eric Auld

2
是的 似乎必须为每个VE安装不同的Spyder实例。
米哈伊尔·根金

3
我可以从命令行执行此操作吗?每次都运行Navigator似乎很
麻烦

1
@nocibambi是的,如果您只是想在来自cmd的环境中运行Spyder,请参阅tomaskazemekas答案的底部。
洛伦兹

105

有一个选项可以使用所需的Python版本在Anaconda中创建虚拟环境

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

Spyder与Python 3.4

读者编辑:

对于一个正常的开立,使用“蟒蛇提示符”> > activate myenvspyder那么“巨蟒提示”必须保持开放的,你不能将其用于其他命令和强制关闭将关闭Spyder的)。当然,这要比长时间加载“ Anaconda Navigator”>切换环境>启动Spyder(@adelriosantiago的答案)更快。


7
我已经在Windows 7上对其进行了测试,并且可以正常工作。您无需在开始时添加单词“ source”来激活环境。要使用Python 2,7,请将设置更改为python = 2.7。
tomaskazemekas

4
哦,也许您必须先将spyder安装到该环境中?我用numpy而不是anaconda创建了环境,所以它可能是从主要环境运行的spyder?
endlith

4
这似乎是问题所在。与ipython相同,但在环境中安装后已修复
endolith

9
我还发现,在Windows(10)上,即使从anaconda环境启动spyder仍然使用默认的python来启动spyder,并且我不得不先在condana环境中安装spyder才能使用该环境的python打开spyder。
Max Power

9
还要确保您在那种环境中有conda install -n myenv spyder
间谍活动-shahar_m

57

tomaskazemekas的回答的附加内容:您应该通过以下方式在该虚拟环境中安装spyder:

conda install -n myenv spyder

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


2
Spyder通常作为Anconda Python 软件包列表的一部分安装。仅在使用miniconda的情况下,可能需要额外安装。
tomaskazemekas

1
是的,这是对的。就我而言,我之前安装了虚拟环境,这是一个轻量级版本,我只安装了非常必要的软件包。我想有人在我身边。
天Lu

@tomaskazemekas先生,我安装了miniconda3 :)我如何在spyder中运行python代码,因为我不知道如何运行spyder?当我在miniconda提示符下键入“ spyder”时,提示“无法识别此命令”。
诺曼·马沃

@Noman marwat由于spyder不是miniconda的一部分,因此必须在使用command运行之前安装它conda install spyder
tomaskazemekas

之后,在myenv/bin目录中查找符号链接并将其复制到Applications文件夹中,这样您就可以轻松地找到它并在其环境中启动Spyder,而无需键入黑色的小窗口!(如果您喜欢图标,也可以轻松地向其中添加图标)
PatrickT

49

对我有用的是:

  1. 从环境中运行间谍程序(激活源后)
  2. 转到工具->首选项-> python解释器,然后从您要链接到spyder en 的env中选择python文件:/ home / you / anaconda3 / envs / your_env / bin / python

在ubuntu 16,spyder3,python3.6上工作。


尝试所有这和其他职位的休息(!2天尝试)后,这是为了设置内部蜘蛛适当的环境ENVS唯一的工作解决..
安东尼奥·卡内帕

不需要步骤(1),因为步骤(2)已将解释器路由到环境。
Feras

3
@Feras对于未来的读者:我也认为第一步是多余的。但是忽略它会导致各种疯狂的错误(甚至会导致UI出现错误,Spyder无法响应)。
cheekybanana19年

20

在所有环境中都无需重新安装spyder的情况下,请遵循此处的官方参考。

总结(用conda测试):

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

在系统提示下:

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

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

  • 在环境中安装间谍内核(例如conda install spyder-kernels

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

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

  • 运行间谍(spyder3

  • 最后,在spyder的“工具”菜单中,转到“首选项”>“ Python解释器”>“使用以下解释器”,然后粘贴环境python可执行文件路径。

  • 重新启动ipython控制台

PS:在间谍中,您应该在底部看到这样的内容在此处输入图片说明

沃伊拉


这是唯一明智的答案。
sjsam,

请注意,在使用virtualenv&spyder 4.1.3时,底线没有任何内容可确认(一切都按计划进行)
Alexis

这是正确的答案!此外,可以在任何conda虚拟环境中安装spyder。它不必在基本环境中。
桑契特

1
您是正确的@Sanchit,您可以在每个环境中“安装/安装” spyder,然后从那里调用它,但是当您只需要一个安装时,这就是解决方案
Alexis

10

上面的答案是正确的,但是我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

我选择此方法的目的PATH是优先于修改或添加指向可执行文件的链接,PATH因为我认为这样做不太可能破坏其他程序。但是,我确实在中为可执行文件添加了别名~/.bash_aliases


8

我只是在尝试使Spyder在虚拟环境中运行时遇到相同的问题。

解决方案很简单:

激活您的虚拟环境。

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

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

现在对我来说很好。


1
这不再适用于ubuntu 16下的python2。有什么解决办法吗?
马萨德

不推荐使用Python 2。推荐和建议给自己升级到使用Python 3
耶路撒冷程序员

4

在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外壳中的venv启动spyder,我相信它会为您创建此快捷方式(只需在Windows上搜索“ Spyder”)。


1

我遵循上述建议之一,并且确实有效。总而言之,使用上述建议在Ubuntu上下载Anaconda时,可以帮助您“创建”环境。在我的情况下,下载Spyder的默认值为:(base)smith @ ubuntu〜$。创建环境(即fenics并使用$ conda激活它)后,立即激活(fenics)smith @ ubuntu〜$。然后从该提示启动Spyder,即$ spyder然后您的系统打开Spyder IDE,您可以在其上编写fenics代码。记住,每次打开终端时,系统都会打开默认提示。您必须激活您的包装所在的环境,并迅速更改它,即(fenics)。我希望这将有所帮助。谢谢您以及所有提供帮助的人。这个社区很棒。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.