python - pandasql不会导入: ImportError: cannot import name to_sql

标签 python mysql sql pandas pandasql

我在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,您需要安装 gccg++ 和来自系统包管理器的 python-dev 包(apt-getyumzypper 等)。如果您正在针对 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/

相关文章:

python - 詹森-香农散度

php - 我应该使用 mysql_real_escape_string 转义预期的整数值还是可以只使用 (int)$expectedinteger

mysql - 拒绝在 TIMESTAMP 字段上使用索引

php - 如何在MYSQL中获取不带小数的列值

sql - 查询中的锁定顺序(postgresql)

python - Pyparsing 解析操作并列出类型错误

Python 文件路径名

python - 在我的网络应用程序上使用 ubuntu 字体

python - 数据库事务如何与应用程序代码一起工作

sql - sql-选择与其他行中的值进行比较的行