【问题标题】:IPython Notebook and SQL: 'ImportError: No module named sql' when running '%load_ext sql'IPython Notebook 和 SQL:运行“%load_ext sql”时出现“ImportError: No module named sql”
【发布时间】:2016-05-10 22:04:44
【问题描述】:

刚刚在 Ubuntu 16.04 上设置了一个 IPython Notebook,但我不能使用 %load_ext sql。 我得到:ImportError: No module named sql

我尝试使用带有和不带有sudo 的 pip 和 pip3 来安装 ipython-sql。它安装了 4 次都没有问题,但笔记本上没有任何变化。

提前致谢!

【问题讨论】:

  • 您可能正在使用与运行笔记本不同的 Python 安装的 pip。在笔记本中检查 sys.executable 以找到您正在运行的 Python,然后使用 @987654325 @为此安装东西。
  • 添加which -a pythonwhich -a pip的输出
  • 我切换到 jupyter 来安装 conda。同样的问题。 $ which -a python /home/hftbot/anaconda3/bin/python /usr/bin/python
  • 我切换到 jupyter 来安装 conda。同样的问题。 $ which -a python /home/hftbot/anaconda3/bin/python /usr/bin/python 我应该将 pip 混合到这个中还是有办法用 conda 做到这一点?
  • 用conda安装mysql、pymysql。没有效果。

标签: python pip ipython


【解决方案1】:

我知道这已经很久了,但我遇到了同样的问题,Thomas 的建议解决了我的问题。只是概述我在这里做了什么。

当我在笔记本中运行sys.executable 时,我看到了/usr/bin/python2,而我用来安装软件包的pip 是/usr/local/bin/pip(要找出你正在使用的pip,只需执行which pip 或@ 987654326@ 如果您要在系统范围内安装软件包)。所以我使用以下命令重新安装了ipython-sql,一切正常。

sudo -H /usr/bin/python2 -m pip install ipython-sql

这很奇怪,因为我总是使用pip 安装我的包。我想知道 Jupyter 中的魔法函数可能有什么特别之处。

【讨论】:

  • 它使用 python2 对我有用,现在 jupyter load sql
【解决方案2】:

如果您尝试连接 IBM 数据库并遇到此问题,而上述解决方案无法为您解决问题,您可以尝试一下。 (顺便说一句,此错误通常意味着您的某个软件包安装不符合要求或更可能:您处于错误的内核/虚拟环境中,并且 Jupyter 实例无法从指定的软件包运行您的命令。)

从 JupyterLab 或 Jupyter Notebook 转到 Kernel>Change Kernel 并更改已安装软件包的内核。等待它建立连接。然后使用0, 0重启内核(或Kernel>Restart Kernel

转到任何单元格并运行以下命令以在当前内核中安装软件包。

!pip install sqlalchemy==1.3.9
!pip install ibm_db_sa
!pip install ipython-sql

现在试试 %load_ext sql

【讨论】:

    【解决方案3】:

    我知道这个答案会(非常)迟到为讨论做出贡献,但也许它会对某人有所帮助。通过关注上面评论的托马斯,我发现了什么对我有用。然而,有一点需要注意的是,我使用 pyenv 在我的本地机器上设置和管理 python。

    因此,当在 jupyter 笔记本单元格中运行 sys.executable 时,我发现我的 python 路径是 /usr/local/Cellar/jupyterlab/3.2.8/libexec/bin/python3.9,而我预计它会在 '/Users/<USER_NAME>/.pyenv/versions/3.9.2/bin/python' 的某处。

    这个错误归因于我通过命令brew install jupyter 而不是pyenv exec pip install jupyter 安装了jupyter。我继续用 brew 卸载 jupyter,然后执行第二个命令,现在 jupyter 启动并运行!

    (请注意,您首先必须正确设置 pyenv)。

    【讨论】:

      【解决方案4】:

      我怀疑您使用的 IPython Notebook 内核与您安装的 ipython-sql 不同。
      IPython Notebook 可以有多个内核。如果是这种情况,请首先确保您在正确的位置。

      【讨论】:

        猜你喜欢
        • 2018-03-08
        • 1970-01-01
        • 2017-02-10
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-20
        • 2015-08-25
        相关资源
        最近更新 更多