为啥我在终端上安装的软件包不能在 Spyder 上运行

Posted

技术标签:

【中文标题】为啥我在终端上安装的软件包不能在 Spyder 上运行【英文标题】:Why won't packages I have installed in the terminal run on Spyder?为什么我在终端上安装的软件包不能在 Spyder 上运行 【发布时间】:2021-11-13 17:21:17 【问题描述】:

我使用 Jupyter notebook 已经有一段时间了,它运行良好,我今天尝试下载 Spyder,但我在终端上安装的很多软件包都无法在 Spyder 上运行,例如 pandas_datareader 在 Jupyter notebook 中运行良好,但它无法在 Spyder 上运行我在尝试导入时收到未找到模块的错误。我尝试更新软件包以及删除然后重新安装,但它仍然无法正常工作。我从 spyder-ide.org 网站下载了 Spyder。感谢您提供的任何帮助。

【问题讨论】:

你可能安装了两个 Python,你可以在一个 Python 中安装模块,而 Spyder 可以使用另一个 Python。 Python 不共享模块。在SpyderJupyter 中运行SpyderJupyter import sys print( sys.executable ),您将看到Python 的完整路径,然后您可以使用/full/path/to/python -m pip install ... 在选定的Python 中安装模块。如果您可以设置项目中使用的 Python 的路径,您还可以检查 Spyder 的设置 - 这样您可以更改 Python 并在不同的项目中使用不同的 Python(即在项目中使用 virtual environments 【参考方案1】:

这是常见的问题。

您可能安装了两个 Python,并且您将 Jupyter 与一个 Python 一起使用,但 Spyder 可能使用其他 Python。

不同的 Python 不共享模块。

SpyderJupyter 中运行

import sys 

print( sys.executable )

查看SpyderJupyter中使用的Python的完整路径,然后您可以使用

/full/path/to/python -m pip install ... 

在正确的 Python 中安装模块。


如果您可以设置项目中使用的 Python 的路径,您也可以检查 Spyder 的设置 - 这样您就可以更改 Python 并使用已安装模块的版本。这样,您还可以在不同的项目中使用不同的 Python(具有不同的模块)(即在项目中使用虚拟环境 - venv


我认为 Jupyter 并不意味着 Google Colab 在 Google 的服务器上运行 Jupyter 并在此服务器上安装模块 - 但 Spyder 在本地计算机上运行。

【讨论】:

以上是关于为啥我在终端上安装的软件包不能在 Spyder 上运行的主要内容,如果未能解决你的问题,请参考以下文章

尽管安装了 Spyder-Terminal,但 Spyder 5 中没有终端

为啥我不能从 Spyder 导入 scikit-learn,但我可以从命令行导入?

Spyder 5.0.5 (MacOS) 上没有 Spyder 终端

在spyder 4上安装spyder_autopep8并使其正常工作

我想请教一下大家 在Linux系统上安装了Anaconda 后 怎么运行spyder???(请不要再复制粘贴了)

在笔记本电脑上通过xshell软件登陆centos服务器上自己账号运行spyder,出现如下问题