Emi*_*hen 13 python hashtable cython importerror pandas
我想从源代码构建pandas而不是使用包管理器,因为我对贡献感兴趣.我第一次尝试构建大熊猫,这些是我采取的步骤:
1)创造了virtualenv
mkvirtualenv --no-site-packages pandas
2)激活了virtualenv
3)安装了Anaconda CE.但是,它安装在〜/ anaconda中.
4)克隆的大熊猫
5)建立C扩展
(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> ~/anaconda/bin/python setup.py build_ext --inplace
6)建造大熊猫
(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> ~/anaconda/bin/python setup.py build
7)在主分支上运行nosetests
测试失败:(熊猫)ems~/.virtualenvs/pandas/localrepo/pandas> nosetests pandas E ============================= =========================================错误:失败:ValueError(numpy.dtype有错误的大小,请尝试重新编译)------------------------------------------ ---------------------------- Traceback(最近一次调用最后一次):文件"/Users/EmilyChen/.virtualenvs/pandas/lib/ python2.7/site-packages/nose/loader.py",第390行,在loadTestsFromName中addr.filename,addr.module)文件"/Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/在importFromPath中的nose/importer.py",第39行返回self.importFromDir(dir_path,fqname)文件"/Users/EmilyChen/.virtualenvs/pandas/lib/python2.7/site-packages/nose/importer.py",线86,在importFromDir MOD = load_module(part_fqname,FH,文件名,内容描述)文件"/Users/EmilyChen/.virtualenvs/pandas/localrepo/pandas/pandas/ INIT py"为6行,从.import hashtable,tslib,lib文件"numpy.pxd",第156行,在init pandas.hashtable(pandas/hashtable.c:20354)中ValueError:numpy.dtype的大小错误,请尝试重新编译
在0.001s中进行1次测试
失败(错误= 1)
PyData邮件列表上有人说:
看起来你已经在你的机器上的其他地方安装了NumPy,并且AnacondaCE在virtualenv中的表现不佳.您收到的错误是一条Cython错误消息,当它构建的NumPy版本与您系统上安装的版本不匹配时发生 - 我原以为1.7.x应该是与1.6.x兼容的ABI(所以这不会发生)但我猜不是.叹
Anaconda CE库中的numpy版本是1.7.0b2,我的系统numpy安装版本是1.5.1.在构建pandas时,Setup.py链接到Anaconda发行版库中的numpy,但我的猜测是当nosetests运行/ pandas/init .py 时链接到我的系统版本
接下来,我重复了virtualenv之外的步骤,但得到了同样的错误.最后,我决定在新的virtualenv中安装所有依赖项,而不是使用Anaconda发行版来构建pandas.通过这种方式,我可以看到像numpy这样的依赖项驻留在virtualenv python安装的lib目录中,这在pandas时占据先例.init运行import语句.这就是我做的:
1)使用pip安装numpy,dateutil,pytz,cython,scipy,matplotlib和openpyxl
2)建立c扩展到位
3)pandas在这里安装输出:http://pastebin.com/3CKf1f9i
4)大熊猫没有正确安装
(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
Run Code Online (Sandbox Code Playgroud)
我看了这个问题,但在我的情况下安装了cython,我正在尝试从源代码中成功构建,而不是像建议的答案一样使用pip.
(pandas)ems ~/.virtualenvs/pandas/localrepo/pandas> which cython
/Users/EmilyChen/.virtualenvs/pandas/bin/cython
Run Code Online (Sandbox Code Playgroud)
Gar*_*ett 31
我ImportError: cannot import name hashtable尝试从源代码目录导入pandas时收到了同样的错误().尝试从另一个目录启动python解释器并再次导入pandas.
| 归档时间: |
|
| 查看次数: |
12571 次 |
| 最近记录: |