如何确保Spyder在conda环境中运行?

18

我在Windows 10中创建了一个名为testenv的conda环境,其中包含Python 3.6和Spyder。我还使用此答案描述的方法安装了Selenium。我使用以下命令检查这些软件包是否已安装。

conda list -n testenv

我按照这个答案及其相关评论中的说明,在该环境下运行了Spyder。因此,我使用以下命令激活了该环境:

activate testenv

修改提示以指示testenv已激活。 然后我输入

spyder

启动Spyder。当Spyder打开时,我的命令窗口会自动关闭。如果我在不关闭Spyder的情况下打开另一个命令窗口,并输入conda info -e命令,则输出结果显示testenv已不再处于活动状态。此时,当我在Spyder中运行包含该行代码的代码时。

from selenium import webdriver

Spyder控制台报告

ModuleNotFoundError: No module named 'selenium'

我的问题是:

Spyder是否真的在testenv中运行?如果是,为什么会报告这个错误?如果不是,我做错了什么?


编辑:进一步的研究发现有一个名为“Spyder does not run in Anaconda virtual environment on Windows 10 ”的主题。我按照被接受的答案建议安装Spyder后激活环境,但那只是返回了消息

# All requested packages already installed.
# packages in environment at C:\Anaconda3\envs\testenv:
#
spyder                    3.2.2                    py36_0

其中一个答案的评论建议在活动环境中使用 where spyder 来检查可用的可执行文件。 这返回了

C:\Anaconda3\Scripts\spyder.exe
C:\Anaconda3\envs\testenv\Scripts\spyder.exe

我尝试通过键入第二个条目的完整路径来启动Spyder。Spyder打开了,我的程序也没有出现错误。这似乎解决了问题。


请不要在您的问题中编辑您的解决方案,而是将其作为下面的答案添加! :-) 谢谢 - darthbith
这个回答解决了你的问题吗?如何在虚拟环境中运行Spyder? - questionto42
2个回答

13

我在当前环境中发出命令where spyder,以检查Spyder可执行文件的位置。返回结果如下:

C:\Anaconda3\Scripts\spyder.exe
C:\Anaconda3\envs\testenv\Scripts\spyder.exe

所以我通过键入第二个条目的完整路径来启动Spyder,我的程序没有出现错误。


这个解决方案对我有效,但需要做两个修改 (A) 我的环境中的 python.exe 路径为 <Anaconda>\envs\<MyEnv>,而不是 <Anaconda>\envs\<MyEnv>\Scripts (B) 如果我切换到其他的 python.exe,似乎只有在使用选项 Consoles==>Restart kernel 重启 Spyder 的内核后才能生效。值得一提的是,我正在使用Spyder版本3.3.2和Anaconda版本1.6.2。 - fountainhead
您还可以在环境中创建的符号链接中查找,复制它,并使用它从任何方便的地方启动Spyder。 - PatrickT

5
您也可以使用在Windows菜单中生成的基于Windows的链接。步骤如下:
  1. (在anaconda环境中)激活testenv
  2. (在anaconda testenv环境中)conda安装spyder
  3. 查找Windows菜单“最近添加”,找到spyder(testenv),并将其添加到任务栏和/或查找文件源位置,并将其复制到桌面。在我的情况下,后一种方法打开了目录"C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)",其中可以找到任何环境的spyder链接;您可以将它们复制到桌面以直接启动,无需打开anaconda提示符。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接