我在linux命令提示符下使用pip安装了pandasql,并启动了ipython笔记本:
felix@xanadu ~ $ sudo pip install pandasql
[sudo] password for felix:
Downloading/unpacking pandasql
Downloading pandasql-0.6.2.tar.gz
Running setup.py (path:/tmp/pip_build_root/pandasql/setup.py) egg_info for package pandasql
Installing collected packages: pandasql
Running setup.py install for pandasql
Successfully installed pandasql
Cleaning up...
felix@xanadu ~ $ ipython notebook
然后尝试在 ipython 笔记本中导入 pandas 和它:
import pandas
import pandasql
..它不高兴,环顾四周,但似乎没有任何答案。这是它给出的错误消息:
--------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-c9fa37159ca4> in <module>()
1 import pandas
----> 2 import pandasql
/usr/local/lib/python2.7/dist-packages/pandasql/__init__.py in <module>()
----> 1 from .sqldf import sqldf
2 import os
3 import pandas as pd
4
5
/usr/local/lib/python2.7/dist-packages/pandasql/sqldf.py in <module>()
2 import pandas as pd
3 import numpy as np
----> 4 from pandas.io.sql import to_sql, read_sql
5 import re
6 import os
ImportError: cannot import name to_sql
有人有什么想法吗?干杯
最佳答案
您绝对应该升级到 pandas
0.16.0:
sudo pip install -U pandas
我刚刚浏览了0.13.1中的pandas/io/sql.py
源代码和 0.16.0 ,并且 to_sql()
和 read_sql()
方法在旧版本中不存在,但在最新版本中存在。
总结一下我们在评论中的对话,为了成功构建 pandas
,您需要安装 gcc
、g++
和来自系统包管理器的 python-dev
包(apt-get
、yum
、zypper
等)。如果您正在针对 Python 3 进行构建,则需要 python3-dev
包。
如果您使用的是 Windows 和标准 python.org 版本的 Python,保持软件包最新的最简单方法是使用 Christoph Gohlke 的 Python Extension Packages for Windows repository 。很多包都依赖他的MKL numpy
的链接版本,包括pandas
。所有这些包的好处是它们针对 32 位和 64 位版本的 Python 进行了预编译,并且通常可用于 Python 2.7、3.3 和 3.4(当然,具体取决于包 - 有些是尚未移植到 Py3)。它们可在 .whl
中找到。格式,因此安装/升级非常简单
pip install -U name_of_package.whl
关于python - pandasql不会导入: ImportError: cannot import name to_sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755417/