【问题标题】:Package not found in python, despite loading jupyter notebook from environment w/package尽管从带有包的环境中加载了 jupyter notebook,但在 python 中找不到包
【发布时间】:2015-12-08 01:31:25
【问题描述】:

我在 OS X 上全新安装了 Anaconda,我正在按照this page 上的说明进行操作,以创建合适的环境。

激活环境后输入conda list,pandas和matplotlib都列出来了。

但是当我打开提供的 jupyter 笔记本,或者当我创建一个新的 jupyter notebook 并输入 import pandas as pd 时,我得到一个“没有名为 pandas 的模块”的错误。 matplotlib 也是如此。

很高兴提供更多有助于解决问题的信息。我觉得我经常遇到这样的问题,所以欢迎调试这种事情的一般策略。谢谢!

编辑:好的,我现在已经解决了这个问题,但我仍然觉得我错过了一些东西。

问题是这个环境中没有适用于 python 版本的 jupyter/ipython notebook 内核。因此,当我启动笔记本时,即使在 env 中,也不会加载正确版本的 python,并且某些包不可用。

解决方案是按照此处所述添加内核:Using both Python 2.x and Python 3.x in IPython Notebook

必须为每个环境安装不同的 ipython-kernel 似乎有点奇怪,但也许不是。我想我只是认为只要笔记本是从环境启动的,笔记本就会加载正确版本的 python。

谁有更好的解决方案?

【问题讨论】:

  • 可以给我们从安装anaconda到安装包的所有步骤吗?
  • 我遇到了同样的问题,奇怪的是它以前一直在工作。我不知道在此期间我是否改变了一些东西。我不得不执行conda install notebook ipykernelipython kernel install --user 然后它又开始工作了。感谢分享并指出另一个问题!
  • 晚了 5 年,但我遇到了同样的问题并找到了相同的 - 奇怪的解决方案。想知道@jwdink 或其他人是否能够找到比在每个环境中复制内核更好\更清洁的解决方案?或者,如果它已经是最好的实践,那么我可能会意识到这一点!谢谢!

标签: python jupyter conda


【解决方案1】:

由于您的 Py2 和 Py3 内核都需要不同的、特定于版本的软件包集来支持它们,因此最好和最方便的解决方案似乎是您所遵循的——使用 anaconda,将任一版本安装为默认版本,然后与另一个一起安装一个环境。如果您希望 pandas 可用于两个版本,则需要确保 conda 将其安装在根目录和其他环境中。 Jupyter 有点神奇,因为它可以从任一环境启动,但会识别 ipython 内核存在于不同的环境中,并使两者都可供您使用。

听起来这可能对你有点不利,你要么从一个没有安装 ipython 但确实有 pandas 的环境启动了 jupyter。 Jupyter 在另一个环境中找到了 ipython 内核,但您还没有在那里安装 pandas。至少那是一个理论。解决方案仍然是在两者中安装 pandas 和 ipython。在两个环境中执行 conda install anaconda 会给你很多包,如果空间不是一个问题,并且可以为你节省一些这样的痛苦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多