【问题标题】:A module is working in Anaconda prompt, but not in Spyder一个模块在 Anaconda 提示符下工作,但在 Spyder 中没有
【发布时间】:2018-10-06 21:32:08
【问题描述】:

我已经与这个问题斗争了好几个小时,而且这是一个复杂的问题。 我在 Windows 7、Python 2.7、Spyder 3.2.6 我尝试通过cygwin 安装OSMNX,但是我遇到了很多问题。最后设法通过windows cmd安装它。 通过anaconda prompt,我可以毫无错误地导入osmnx
但是,我正在尝试将其导入 spyder,但我一直收到:
Traceback(最近一次调用最后一次):

  File "<ipython-input-2-2b99ab66aebb>", line 1, in <module>
    import osmnx

ImportError: No module named osmnx

这里到底出了什么问题?我该如何解决?

【问题讨论】:

  • 您是否创建了任何其他环境?在 Spyder 和 Anaconda 提示符下运行 import sys print( sys.executable),看看它们是否都返回相同的路径。
  • @Simon 我按你说的做。 Spyder 和 Anaconda 运行不同的路径。如何将模块从 Anaconda 路径移动到 Spyder 路径?因为我已经安装了很多我在 Spyder 上运行的模块。
  • @Simon 我从未处理过任何环境(老实说,我不知道该怎么做)。所以基本上我没有改变任何默认的东西。
  • @Simon 非常感谢提供有用的链接和提示。所以现在问题来了:在 spyder 我有两个环境,一个有osmnx,另一个没有。是否可以将模块从一个环境移动到另一个环境?或者是否可以指定我要安装模块的环境?

标签: python import anaconda spyder osmnx


【解决方案1】:

问题是您的 anaconda 提示符和您的 spyder 实例使用不同的环境,正如@Simon 所提到的。这里回顾了这个问题和不同的可用解决方案:GitHub discussion

您可以通过以下方式解决问题。如果您的 Anaconda 提示环境中已经安装了 spyder-kernels 包,请在 Anaconda 提示符下运行以下命令:

python -c "import sys; print(sys.executable)"

并将返回的路径复制到您的控制台。然后,在 Spyder 中转到 Tools>Preferences>Python 解释器。在这里,您将在为所有 Spyder 控制台选择 Python 解释器下看到两个选项。选中第二个选项并粘贴您从 Anaconda 提示符复制的路径。关闭 Spyder 并再次打开它,现在import module 命令应该可以工作了。

通过这样做,Spyder 将基本上使用您安装了新模块的环境中的 Python 解释器。

【讨论】:

  • 谢谢,它对我有帮助,将 spyder 内核模块添加到 python (因为 spyder 可能想要 spyder 内核模块工作)
  • 我必须选择合适的解释器,如本答案中所述。如果你在 conda env 中有一个 venv,请确保你选择了 venv 的解释器。
【解决方案2】:

我也遇到过同样的问题。我已经在 conda 环境中安装了 Spyder 和 Jupyter。之后它对我来说工作正常。

source activate my_conda_env
conda install spyder
conda install jupyter notebook

【讨论】:

    【解决方案3】:

    您需要同步两者的环境变量/路径。

    只要进入 anaconda promt 并输入命令

    > conda install spyder
    

    它会自动准备环境。之后,只需打开 spyder 并执行您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 2016-02-24
      • 2018-10-22
      • 2020-10-01
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多