IPython Notebook和SQL:运行'%load_ext sql'时'ImportError:没有名为sql的模块'

use*_*275 8 python pip ipython

只需在Ubuntu 16.04上设置一个IPython Notebook,但我无法使用%load_ext sql.我明白了:ImportError: No module named sql

我尝试使用pip和pip3,无论sudo是否安装ipython-sql.所有4次安装没有问题,但笔记本电脑没有任何变化.

提前致谢!

Han*_*lak 8

如果您在尝试连接 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
Run Code Online (Sandbox Code Playgroud)

现在尝试 %load_ext sql


Ash*_*kan 5

我知道这已经很长时间了,但我遇到了同样的问题,托马斯的建议解决了我的问题。只是概述我在这里做了什么。

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

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

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