Installation de Pandas sur Mac OS X: ImportError (impossible d'importer le hashtable de nom)

Je voudrais construire des pandas à partir de la source plutôt que d'utiliser un gestionnaire de paquets parce que je suis intéressé à contribuer. La première fois j'ai essayé de construire des pandas, ce sont les étapes que j'ai pris:

1) créé le virtualenv
mkvirtualenv --no-site-packages pandas

2) activé le virtualenv

3) installé Anaconda CE. Cependant, cela a été installé dans ~/anaconda.

4) cloné pandas

5) construit des extensions en C lieu

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

6) les pandas

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

7) a couru nosetests sur la branche master

Tests ont échoué:
(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> nosetests pandas
E
======================================================================
ERREUR: Échec: ValueError (numpy.dtype a la bonne taille, essayez de recompiler)
----------------------------------------------------------------------
Traceback (most recent call last):
Le fichier "/Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/nose/loader.py", la ligne 390, dans loadTestsFromName
addr.le nom de fichier, addr.le module)
Le fichier "/Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/nose/importer.py", à la ligne 39, dans importFromPath
retour auto.importFromDir(dir_path, fqname)
Le fichier "/Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/nose/importer.py", à la ligne 86, dans importFromDir
mod = load_module(part_fqname, fh, nom de fichier, desc)
Le Fichier "/Users/EmilyChen/.virtualenvs/pandas/localrepo/panda/panda/init.py", ligne 6,
partir de . l'importation de table de hachage, tslib, lib
Fichier "numpy.pxd", à la ligne 156, dans l'init des pandas.table de hachage (pandas/table de hachage.c:20354)
ValueError: numpy.dtype a la bonne taille, essayez de recompiler


Couru 1 test de 0,001 s

ÉCHOUÉ (erreur=1)

Quelqu'un sur le PyData liste de diffusion a dit:

Il semble que vous avez NumPy installé à un autre endroit sur votre machine et AnacondaCE ne joue pas bien dans le virtualenv. L'erreur que vous obtenez est une Cython message d'erreur qui se produit lorsque le NumPy version, il construit contre ne correspond pas à la version installée sur votre système-- j'avais pensé que 1.7.x était censé être ABI compatible avec la 1.6.x (et donc ce ne serait pas le cas) mais je ne crois pas. Soupir

La numpy version Anaconda CE de la bibliothèque est de 1,7.0b2 et mon système numpy l'installation de la version 1.5.1. Setup.py liés à la numpy dans l'Anaconda distribution des bibliothèques, quand il construit des pandas, mais ma conjecture est que c'est un lien vers mes version du système lorsque nosetests pistes /pandas/init.py

Prochainej'ai répété les étapes à l'extérieur d'un virtualenv, mais j'ai reçu le même message d'erreur. Enfinj'ai décidé d'installer toutes les dépendances dans une nouvelle virtualenv au lieu de l'utilisation de l'Anaconda de distribution de construire des pandas. De cette façon, je peux voir que les dépendances comme numpy résider dans le répertoire lib de l'virtualenv d'installation de python, qui a la priorité quand les pandas.init exécute les instructions d'importation. C'est ce que j'ai fait:

1) installé numpy, dateutil, pytz, cython, scipy, matplotlib et openpyxl utilisation de pip

2) construit des extensions en c lieu

3) les pandas installer de sortie ici: http://pastebin.com/3CKf1f9i

4) les pandas n'avez pas installé correctement

(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 "<stdin>", line 1, in <module>
File "pandas/__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
ImportError: cannot import name hashtable

J'ai pris un coup d'oeil à cette question mais cython installé dans mon cas, et je suis en train de créer avec succès à partir de la source plutôt que d'utiliser pip comme la réponse recommandée..

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

source d'informationauteur Emily Chen