Instalación de Pandas en Mac OS X: ImportError (no se puede importar el nombre de tabla hash)

Me gustaría construir pandas desde la fuente en lugar de usar un gestor de paquetes porque estoy interesado en contribuir. La primera vez que traté de construir pandas, estos fueron los pasos que tomé:

1) creó el virtualenv mkvirtualenv --no-site-packages pandas

2) activado el virtualenv

3) instalado el CE de anaconda. Sin embargo, esto se instaló en ~ / anaconda.

4) pandas clonados

5) construí extensiones C en su lugar

(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> ~/anaconda/bin/python setup.py build_ext --inplace

6) pandas construidos

(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> ~/anaconda/bin/python setup.py build

7) corrió pruebas en la twig maestra

Pruebas fallidas: (pandas) ems ~ / .virtualenvs / pandas / localrepo / pandas> nosetests pandas E ============================= ========================================= ERROR: Error: ValueError (numpy.dtype tiene el tamaño incorrecto, intente recomstackr) —————————————— —————————- Traceback (última llamada más reciente): Archivo “/Users/EmilyChen/.virtualenvs/pandas/lib/ python2.7 / site-packages / nose / loader.py “, línea 390, en loadTestsFromName addr.filename, addr.module) Archivo” /Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/ nose / importer.py “, línea 39, en importFromPath return self.importFromDir (dir_path, fqname) Archivo” /Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/nose/importer.py “, línea 86, en importFromDir mod = load_module (part_fqname, fh, filename, desc) Archivo “/Users/EmilyChen/.virtualenvs/pandas/localrepo/pandas/pandas/pandas/ init .py”, línea 6, desde. importar hashtable, tslib, lib Archivo “numpy.pxd”, línea 156, en init pandas.hashtable (pandas / hashtable.c: 20354) ValueError: numpy.dtype tiene el tamaño incorrecto, intente volver a comstackr


Ran 1 prueba en 0.001s

FALLIDO (errores = 1)

Alguien en la lista de correo de PyData dijo:

Parece que tienes NumPy instalado en otro lugar en tu máquina y AnacondaCE no está jugando bien en el virtualenv. El error que está recibiendo es un mensaje de error de Cython que se produce cuando la versión NumPy con la que se compiló no coincide con la versión instalada en su sistema. Pensé que se suponía que 1.7.x era compatible con ABI con 1.6.x (por lo que esto no pasaría) pero supongo que no. Suspiro

La versión numpy en la biblioteca de Anaconda CE es 1.7.0b2 y la instalación de mi sistema numpy es la versión 1.5.1. Setup.py vinculado al número en las bibliotecas de la distribución de Anaconda cuando creó pandas, pero supongo que está vinculado a la versión de mi sistema cuando nossestests ejecuta / pandas / init .py

A continuación , repetí los pasos fuera de un virtualenv, pero obtuve el mismo error. Finalmente , decidí instalar todas las dependencias en un nuevo virtualenv en lugar de usar la distribución de Anaconda para construir pandas. De esta manera, puedo ver que las dependencias como numpy residen en el directorio lib de la instalación de python virtualenv, que tiene prioridad cuando se hacen pandas. init ejecuta las instrucciones de importación. Esto es lo que hice:

1) instalado numpy, dateutil, pytz, cython, scipy, matplotlib y openpyxl usando pip

2) construí extensiones c en su lugar

3) los pandas instalan la salida aquí: http://pastebin.com/3CKf1f9i

4) los pandas no se instalaron correctamente

 (pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> python Python 2.7.1 (r271:86832, Jul 31 2011, 19:30:53) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pandas cannot import name hashtable Traceback (most recent call last): File "", line 1, in  File "pandas/__init__.py", line 6, in  from . import hashtable, tslib, lib ImportError: cannot import name hashtable 

Eché un vistazo a esta pregunta, pero cython se instaló en mi caso, y estoy tratando de construir con éxito desde la fuente en lugar de usar pip como la respuesta recomendada.

 (pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> which cython /Users/EmilyChen/.virtualenvs/pandas/bin/cython 

He recibido el mismo error ( ImportError: cannot import name hashtable ) al intentar importar pandas desde el directorio del código fuente. Intente iniciar el intérprete de python desde un directorio diferente e importe pandas nuevamente.