我已经安装了pip install ipython-sql
.我正在尝试运行
%load_ext sql
但它返回
The sql module is not an IPython extension.
如何让 sql 在 ipython 中运行?
您是否正在运行与安装扩展程序不同的 python 版本?执行 ipython 命令后,如果输出的第一行如下所示:
Python 3.5.0 (default, Sep 14 2015, 02:37:27)
表示 Python 3,而不是类似的东西:
Python 2.7.11 (default, Feb 23 2016, 16:17:28)
表示 Python 2,那么您应该尝试使用 pip3 安装扩展
pip3 install ipython-sql
以便将其可用于您正在运行的 iPython 版本。
既然我们谈论的是ipython,我假设你已经在Jupyter Lab中使用了pip安装。有时,实验室运行的内核与我们的工作环境不同。您的项目似乎存在一些依赖问题(环境本身或您正在运行的版本)。如果你正在使用conda,我会抓取环境并从头开始,python venv也是如此。
我还建议打开一个工单,因为它是一个开源项目,维护团队可能会做出回应并帮助您更快地调试它。
最后,我建议尝试使用JupySQL,它是ipython-sql的一个分支,具有许多错误修复和新功能。
我刚刚通过一个普通的Jupyter笔记本尝试了以下内容,它通过了(在一个空的conda env上运行):
!pip install jupysql --quiet
%load_ext sql
%sql engine
%%sql
SELECT * FROM numbers
由于您使用的是 Anaconda 的 Python 版本,请确保使用 conda 进行安装,这是相关的包管理器。 您需要使用以下命令进行安装:
conda install -c conda-forge ipython-sql=0.3.6
来源: https://anaconda.org/conda-forge/ipython-sql
我使用以下命令重新安装了 ipython-sql,一切都解决了。你不是说你正在运行 conda,因此我假设你只是在 jupyter-notebook 中使用 python。这适用于 python 版本 3.6.9
sudo -H python3 -m pip install ipython-sql
似乎这发生在我身上,因为我无法访问 pip 的父目录。(就我而言,我在虚拟环境中)试图进行正常pip install ipython-sql
这就是为什么我在 sudo 之后使用 -H
标志的原因。