我目前正在使用Spyder版本3.2.8和Python 3.6。我已经使用virtualenv创建了一个虚拟的基本python环境。在该虚拟环境中,我安装了一些软件包,其中包括ipykernel和cloudpickle,可在Spyder中使用。
当我打开Spyder并将解释器更改为virtualenv的位置时,在控制台中看不到此更新。我尝试重新启动了spyder,它似乎正在启动默认的通用ipython控制台。如果我尝试导入在虚拟环境中安装的软件包,则会出现典型的“无模块”错误。如果我在cmd窗口的virtualenv中执行相同的功能,则不会出错。
我在做什么错?了解虚拟环境与这些ipykernel之间的区别的任何帮助都将有所帮助,因为它们仍然是新事物并且令人困惑。
答案 0 :(得分:1)
我通过在激活虚拟环境后运行Spyder来解决此问题。为此运行
activate myenv
pip install spyder
spyder3
无论出于何种原因,即使在程序中更改了解释器后,Spyder都无法在正确的环境中运行。通过在虚拟环境中打开间谍程序,它可以正确运行。
最后要注意的一点是,当在虚拟环境之间切换并以这种方式运行它们时,您仍然需要更新解释器以指向虚拟环境,以避免混淆。
更新因此,在进行更多挖掘之后,我发现与Anaconda一起安装Spyder的原因很多,原因是它利用了与Anaconda一起安装的site-packages文件夹。我不知道如何使Spyder甚至在指向不同的解释器后也不要查看这些站点包。如果有人对此有更好的解决方案,那就太好了,但是现在,如果您想与Spyder一起进行真正的全新安装,我建议为此创建一个virtualenv特殊的,并通过上面的代码安装spyder。为了简单起见,我然后创建了一个安装到spyder3应用程序的快捷方式,该应用程序将从那里打开spyder。
注意:如果您的解释器上安装了特定的软件包,则仍然需要更新它们。您还需要将软件包安装到安装了Spyder的环境中,以便在变量资源管理器中正确查看数据对象(即:pandas以查看数据框)。执行此操作后,请务必重置间谍程序。