2015-04-20 1 views
0

Я установил pandasql с ПУМ в командной строке Linux, и начал IPython ноутбук:pandasql не импорт: ImportError: не может импортировать имя to_sql

[email protected] ~ $ 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... 
[email protected] ~ $ 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' вы работаете? – MattDMo

+0

'pandas .__ version__' returns' '0.13.1'' – cardamom

+0

Возможно, обновление до '0.16.0'? – Zero

ответ

0

Вы определенно должны перейти на 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, самый простой способ обновить свои пакеты - использовать Кристоф Гольке. Многие пакеты зависят от его MKL-связанной версии numpy, включая pandas. Самое приятное во всех этих пакетах заключается в том, что они предварительно скомпилированы как для 32-, так и для 64-разрядных версий Python и обычно доступны для Python 2.7, 3.3 и 3.4 (в зависимости от пакета, конечно же, Портировано еще до Py3). Они доступны в формате .whl, поэтому установка/обновление так же просто, как

pip install -U name_of_package.whl 
+0

Это не будет :(Он запускается, когда я помещаю вашу команду и выглядит так, как будто она работает. Загружаем, извлекаем, создаем всевозможные вещи. Затем выдает пару ошибок в конце: – cardamom

+0

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ipandas/src/klib -Ipandas/src -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c pandas/index.c -o build/temp.linux-x86_64-2.7/pandas/index.o pandas/index.c: 8: 22: фатальная ошибка: pyconfig.h: Нет такого файла или каталога #include "pyconfig.h" ^ компиляция завершена. Ошибка: команда 'x86_64-linux-gnu-gcc' не удалась с статусом выхода 1 ------------------------------ ---------- Откат удаления pandas Очистка ... – cardamom

+0

@Felix какая операционная система вы используете? Как минимум, вам нужно установить пакет 'python-dev' из вашего диспетчера пакетов (' apt-get', 'yum', что угодно), поскольку это то, что поставляет« pyconfig.h »и некоторые другие необходимые файлы. – MattDMo

Смежные вопросы