我在linux命令提示符下用pip安装了pandasql,并启动了ipython notebook:
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
有没有人有任何想法?干杯
答案 0 :(得分:1)
你一定要升级到pandas
0.16.0:
sudo pip install -U pandas
我刚查看了0.13.1和0.16.0中pandas/io/sql.py
的源代码,旧版本中没有to_sql()
和read_sql()
方法,虽然它们存在于最新版本中。
要在评论中总结我们的对话,为了成功构建pandas
,您需要安装系统中的gcc
,g++
和python-dev
个软件包包管理器(apt-get
,yum
,zypper
,等等。如果您正在为Python 3构建,则需要python3-dev
包。
如果您使用的是Windows和Python的标准python.org版本,最简单的方法是使用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