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

How to ensure that Spyder runs within a conda environment?

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

conda list -n testenv

在那种环境下运行 Spyder,我按照中的说明及其相关评论进行操作。所以我用

激活了环境
activate testenv

修改了提示以指示 testenv 处于活动状态。然后我输入

spyder

启动 Spyder。 (当 Spyder 打开时,我的命令 window 自动关闭,如果我在不关闭 Spyder 的情况下打开另一个,并且我发出命令 conda info -e,输出表明 testenv 不再处于活动状态。 ) 此时,当我 运行 在 Spyder 中编写包含行

的代码时
from selenium import webdriver

Spyder 控制台报告

ModuleNotFoundError: No module named 'selenium'

我的问题是:

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


编辑:进一步的研究发现了恰当命名的线程“”。我按照接受的答案中的建议,在激活环境后安装 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打开,我的程序运行没有错误。 这似乎解决了问题。

我在活动环境中发出命令where spyder 来检查Spyder 的可执行文件的位置。这返回

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

所以我通过输入第二个条目的完整路径启动了 Spyder,并且我的程序 运行 没有错误。

您还可以使用 Windows 菜单中生成的基于 Windows 的 link。步骤:

  1. (在anaconda中:)激活testenv

  2. (在 anaconda testenv 中:)conda install spyder

  3. 查找windows菜单“最近添加”,找到spyder (testenv)并[将其添加到任务栏]和/或[查找文件源位置]并复制到您的桌面。在我的例子中,后一种方法打开了目录 C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit),其中可以找到我的任何环境的 spyder links;然后您可以将它们复制到您的桌面以直接启动,而无需打开 anaconda 提示符。