pandasql не будет импортировать: ImportError: не может импортировать имя to_sql

Я установил pandasql с pip в командной строке linux и запустил ноутбук 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:

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

У кого-нибудь есть какие-либо идеи? ура

1 ответ

Решение

Вы должны обязательно обновить до pandas 0.16.0:

sudo pip install -U pandas

Я только что просмотрел исходный код pandas/io/sql.py в 0,13,1 и 0,16,0, а to_sql() а также read_sql() методы отсутствуют в более старой версии, в то время как они существуют в последней версии.


Подведем итоги нашего разговора в комментариях, чтобы успешно построить pandas, вам нужно будет установить gcc, g++, а также python-dev пакеты от менеджера пакетов вашей системы (apt-get, yum, zypper, без разницы). Если вы создаете для Python 3, python3-dev пакет нужен.

Если вы используете Windows и стандартную версию Python python.org, самый простой способ поддерживать ваши пакеты в актуальном состоянии - это использовать пакеты расширений Python для Пакетов Кристофа Гольке для Windows. Многие пакеты зависят от его MKL- связанной версии numpy, в том числе pandas, Приятной особенностью всех этих пакетов является то, что они предварительно скомпилированы как для 32-, так и для 64-битных версий Python и, как правило, доступны для Python 2.7, 3.3 и 3.4 (в зависимости от пакета, конечно, - некоторые убежища). еще не был портирован на Py3). Они доступны в .whl формат, поэтому установка / обновление так же просто, как

pip install -U name_of_package.whl
Другие вопросы по тегам