在 Spyder 中使用包和环境

在启动脚本时收到错误:“ModuleNotFoundError”

对于许多人来说,这似乎是一个常见问题,当通过“ pip install module_xxx”导入本地机器上缺少 Python 模块时,默认情况下它们不与Spyder链接。

但是今天我提出了一个快速的技巧来处理这个问题,以获得基本和快速的解决方案。(当您知道如何制作时总是很容易,对吧:) ?)

实际上,在Spyder“Tool/PYTHONPATH manager”上设置本地机器通过pip下载和存储已安装模块的路径就足够了,保存,关闭并重新启动Spyder

容易,不是吗?:) 这里有一些截图指导:

虽然一旦您熟悉它就相对简单,但 Spyder 与其他包和环境之间的交互有时会让初次用户感到困惑。Spyder 的改进使这个过程变得更加容易(而且还有更多!),但我们想澄清这种关系是如何运作的。

我们将首先帮助您调试 Python 中处理包和环境时遇到的常见问题,即即使您确定已安装模块也无法导入。接下来,我们将指导您设置 Spyder 环境以改进您的工作流程。如果您正在寻找一种在不同环境中使用 Spyder 的方法(例如一个用于简单数据分析、一个用于机器学习、一个用于开发应用程序等),您可以直接转到最后一部分

最常见的问题:在 Spyder 中使用新安装的包

fooSpyder 之外安装一个包(我们称之为)后,用户在尝试将它导入到 IDE 中时可能会遇到错误:

在[ 1 ]:进口 FOO
回溯(最 近期的 通话 最后):

  文件 "<ipython-input-4-7f58dd7fb72e>",第 1行,在 < module > 
    import  foo

ModuleNotFoundError :没有 名为“foo”的模块  

发生这种情况是因为foo安装(使用condapip)在与 Spyder 当前运行的环境不同的 conda 或 venv/virtualenv 环境中。

要确认这是问题所在,您需要:

  1. 激活环境(例如 myenv在其中安装的包)foo例如具有conda activate myenv供康达,source myenv/bin/activateworkon myenv为的virtualenv / VENV,等等)。

  2. 通过运行命令在那里启动 Python 解释器python

  3. 在 Python 解释器中运行以下命令:

    导入 系统;系统。可执行文件
  4. 启动 Spyder 并在控制台中运行与步骤 3 中显示的相同的命令。

  5. 如果生成的路径相同,则 Spyder 和包在同一环境中,import foo不应产生错误(否则可能存在与您的安装无关的问题)。

  6. 如果生成的路径不同,那么您有三个选择:

    • 激活安装 Spyder 的环境并在其上安装您的软件包(请参阅下一节)。如果您尝试在另一个环境(如myenv)中安装未来的软件包,您将获得相同的ModuleNotFoundError.
    • 将 Spyder 安装到现有myenv环境或任何其他您想在其中工作的环境中,然后从那里运行它(请参阅以下部分)。这比第三个选项稍微简单一些并且具有相同的效果,但是开销更大并且灵活性较差。
    • 只将spyder-kernels包安装到myenv环境中,并在 Spyder 的首选项中设置 Python 解释器路径以指向myenvPython 可执行文件(请参阅最后一节。这需要 Spyder >=3.3.0 和一个更多的初始步骤,但需要较少的维护长期运行并避免重复安装 Spyder。

将软件包安装到与 Spyder 相同的环境中

Spyder 是一个 Python 包,就像您可能习惯的任何其他包一样,因此您可以import在其控制台编辑器中使用任何包,就像在 Spyder 环境中启动的常规 Python 或 IPython 终端一样:

  • 如果 Spyder 与 Anaconda 一起安装(我们推荐)并通过快捷方式从 Anaconda Navigator 或从 Anaconda Prompt 启动而无需修改任何内容,这将是默认的baseAnaconda 环境。
  • 如果 Spyder 是通过pip(仅限专家)安装而不是安装到virtualenv/ 中venv,则这通常是 Python 安装pip本身所属的任何东西。
  • 如果您使用系统包管理器(apt-getdnfemerge等)来安装 Spyder,这通常是您的系统 Python 及其包库。
  • 如果您将 Spyder 安装到特定环境(conda-envvenv),或者它带有预配置的环境(如 Keras 或 TensorFlow 的那些)并从那里启动它,则它只能访问来自该环境的包。

因此,如果您想在现有的 Spyder 安装中使用包(例如,将其导入脚本、包或 Spyder IPython 控制台),最简单的方法是将包安装到您所在的相同环境中。已安装 Spyder,通常采用与安装 Spyder 相同的方式(condapip、包管理器等)。但是,如果您使用pipconda-forge、Github 或自定义渠道安装软件包、同时处理多个主要项目、使用预构建的环境或有更复杂的需求,您可能希望使用一个或多个单独的环境来满足您的需求。包。如果是这样,下一节将解释如何操作。

使用其他环境和 Python 安装

如果您有一个现有的预配置环境(例如 Keras 或 TensorFlow),正在管理多个环境(例如用于开发或测试目的),或者甚至想在完全独立的 Python 安装中工作,就像 Spyder安装(例如系统安装的 Spyder 与单独的 Anaconda 安装,反之亦然),您有两个主要选择:

天真的方法

要在另一个环境中使用 Spyder,最简单的方法是将它直接安装到您希望在其中使用软件包的环境中,然后从那里运行它。这适用于所有 Spyder 版本,安装 IDE 后不需要额外配置;然而,它导致需要管理多个安装,并且不像替代方案那样灵活或可配置。因此,在处理多种环境时,我们建议 采用模块化方法

模块化方法

从 Spyder 3.3.1开始,您可以将模块化spyder-kernels包安装到您希望工作的任何 Python 环境(conda环境、virtualenv/venv系统 Python、WinPython)中,然后将 Spyder 在其 IPython 控制台上使用的 Python 解释器更改为指向到该环境的 Python 可执行文件。

这需要少量的准备和配置,但比将 Spyder 完整安装到该环境中要“轻得多”和更快,避免了依赖冲突,并开辟了新的工作流程可能性。

为此,请执行以下步骤:

  1. 激活的环境(例如, myenv在其中你想工作()conda activate myenv用于畅达,source myenv/bin/activateworkon myenv为的virtualenv / VENV,等等

  2. spyder-kernels使用以下命令在那里安装软件包:

    • conda install spyder-kernels 如果使用 conda/Anaconda,

    • pip install spyder-kernels 如果使用 pip/virtualenv。

  3. 通过任一方法安装后,在同一环境中运行以下命令:

    python  - c  “导入系统;打印(sys.executable)”

    和复制由命令返回的路径(它应该结束pythonpythonwpython.exe或者pythonw.exe,根据您的操作系统上)。

  4. 停用该环境,激活安装了 Spyder 的环境(如果您已将其安装在其自己的环境中),然后像往常一样启动 Spyder。

  5. Spyder 启动后,导航到Preferences > Python Interpreter > Use the following interpreter步骤 3 中的路径并将其粘贴到文本框中。

  6. 启动一个新的 IPython 控制台。安装在您myenv环境中的所有软件包都应该在那里可用。如果使用 conda,则当前环境的名称及其 Python 版本应显示在 Spyder 的状态栏中,将鼠标悬停在其上应显示所选解释器的路径。

笔记:

  • 为了让变量资源管理器能够显示特定数据类型(Numpy 数组、Pandas Series/DataFrame 等)的内置编辑器,需要在 Spyder 的环境中安装相应的可选 Spyder 依赖项(Numpy、Pandas 等),不仅仅是 IPython 控制台工作环境。此外,对象资源管理器中显示的第三方包提供的自定义类目前也需要这样做,尽管未来的 Spyder 版本可能会删除后一个限制。
  • 虽然没有它 Spyder 应该可以正常工作,但确保Spyder 环境中的 Python 次要版本(3.63.73.8等)与您的工作环境中的相匹配,如果可行,将最大限度地减少出现任何问题的可能性。
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为您提供一些可能会导致Spyder没有Python环境的解决方法: 1. 确认您已经正确安装了Python和Spyder。请确保您已经安装了与Spyder兼容的Python版本,并正确安装了Spyder软件。 2. 确认您已经在Spyder选择了正确的Python环境。请确保您已经在Spyder的“Preferences”选择了正确的Python环境,这通常需要手动设置。 3. 确认您已经正确安装了必要的Python模块。如果您正在使用一些需要额外Python模块的程序,请确保这些模块已经正确安装,并且已经添加到您的Python环境。 如果您遇到了其他问题,您可以提供更多详细信息,我将尽力为您提供更好的解决方案。 ### 回答2: 如果您在安装环境后没有在Spyder找到该环境,可能是因为您还没有将该环境添加到Spyder。 首先,请确保您已经成功安装了Spyder。然后,按照以下步骤将环境添加到Spyder: 1. 打开Spyder,在菜单栏选择"工具"(Tools)> "首选项"(Preferences)。 2. 在首选项对话框,选择"Python解释器"(Python Interpreter)选项。 3. 在右侧的下拉菜单,选择"添加解释器或环境"(Add interpreter or environment)。 4. 在弹出的对话框,选择"使用现有的Python环境"(Use an existing Python environment)。 5. 在环境路径框,点击浏览按钮,并选择您安装的环境的路径。如果您不确定环境的路径,可以在命令行输入"which python"(Linux/Mac)或"where python"(Windows)来查找路径。 6. 添加环境后,点击"应用"(Apply)或"确定"(OK)来保存更改。 现在,您应该可以在Spyder的解释器选项看到您添加的环境。如果您仍然无法找到环境,请确保您已正确安装了环境,并在添加环境时选择了正确的路径。 希望这些步骤能帮助您将环境成功添加到Spyder。如果您仍然遇到问题,建议您参考Spyder的官方文档或寻求更多与Spyder相关的技术支持。 ### 回答3: 在使用Spyder时,可能会遇到环境已经安装好了,但是在Spyder找不到的情况。这可能是由于以下几个原因所导致: 1. 检查环境路径:在Spyder无法找到环境的常见原因是环境路径没有配置正确。请确保你在Spyder的设置正确配置了Python环境路径。你可以通过"Tools" -> "Preferences" -> "Python interpreter"来设置环境路径,确保路径指向正确安装的Python解释器。 2. 检查环境是否激活:有时候,环境是被正确安装的,但是在Spyder找不到是因为环境没有激活。请确保你在Spyder使用的是你想要的环境,可以通过查看Spyder右上角显示的Python解释器版本来确认。 3. 检查Spyder的版本:有些Python在不同版本的Spyder可能会有不同的兼容性。如果你的环境是最新的,但是在Spyder找不到,请尝试更新或降级Spyder的版本,以解决可能的不兼容问题。 4. 检查环境是否成功安装:在Spyder找不到环境的另一个原因可能是环境安装过程出现了问题。请确保你的环境已经成功安装,并且可以在命令行或其他IDE使用。如果在其他地方也无法找到环境,那么可能需要重新安装或检查环境的配置。 总结来说,如果你的环境已经安装好了但是在Spyder没有,你可以先检查环境路径和是否激活,尝试更新或降级Spyder的版本,以及确认环境是否成功安装。如果问题仍然存在,你可以尝试使用其他IDE或寻求专业的技术支持来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值