Amb*_*hen 85 python install numpy pandas statsmodels
我刚刚在我的python 2.7上安装了pandas和statsmodels包当我尝试"导入pandas as pd"时,会出现此错误消息.有人可以帮忙吗?谢谢!!!
numpy.dtype has the wrong size, try recompiling
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\__init__.py",
line 4, in <module>
from formulatools import handle_formula_data
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\formula\formulatools.p
y", line 1, in <module>
import statsmodels.tools.data as data_util
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\tools\__init__.py", li
ne 1, in <module>
from tools import add_constant, categorical
File "C:\analytics\ext\python27\lib\site-packages\statsmodels-0.5.0-py2.7-win32.egg\statsmodels\tools\tools.py", line
14, in <module>
from pandas import DataFrame
File "C:\analytics\ext\python27\lib\site-packages\pandas\__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
File "numpy.pxd", line 157, in init pandas.tslib (pandas\tslib.c:49133)
ValueError: numpy.dtype has the wrong size, try recompiling
Run Code Online (Sandbox Code Playgroud)
Jos*_*sef 63
(扩大我的评论)
Numpy开发人员通常遵循保持向后兼容二进制接口(ABI)的策略.但是,ABI不向前兼容.
那意味着什么:
在编译扩展中使用numpy的包是针对特定版本的numpy编译的.numpy的未来版本将与包的编译扩展兼容(例外见下文).这些其他软件包的分发者不需要针对较新版本的numpy重新编译其软件包,当用户更新到较新版本的numpy时,用户不需要更新这些其他软件包.
但是,这并没有朝另一个方向发展.如果一个包是针对一个特定的numpy版本编译的,比如1.7,那么就不能保证该包的二进制文件可以用于较旧的numpy版本,比如1.6,并且经常或大部分时间它们不会.
对于最新版本的numpy编译的pandas和statsmodel等软件包的二进制分发在安装旧版numpy时不起作用.有些软件包,例如matplotlib,如果我没记错的话,可以根据它们支持的最古老的numpy版本编译它们的扩展.在这种情况下,具有相同旧版本或任何更新版本的numpy的用户可以使用这些二进制文件.
问题中的错误消息是二进制不兼容的典型结果.
解决方案是通过将numpy更新到至少编译了pandas或statsmodel的版本来获得二进制兼容版本,或者针对已安装的旧版numpy重新编译pandas和statsmodel.
打破ABI向后兼容性:
有时Numpy中的改进或重构会破坏ABI的向后兼容性.这种情况(无意中)发生在numpy 1.4.0上.因此,将numpy更新为1.4.0的用户与所有其他已编译的包具有二进制不兼容性,这些包是针对先前版本的numpy编译的.这要求必须重新编译具有使用numpy的二进制扩展的所有包以使用ABI不兼容版本.
Fed*_*kii 37
对我来说(Mac OS X Maverics,Python 2.7)
easy_install --upgrade numpy
Run Code Online (Sandbox Code Playgroud)
帮助.在此之后,您可以使用pip安装最新的包pandas,scikit-learn等:
pip install pandas
Run Code Online (Sandbox Code Playgroud)
Rex*_*zle 30
我发现它是一个过时或不匹配的简单版本,并修复了:
pip install --upgrade numpy
pip install --upgrade scipy
pip install --upgrade pandas
Run Code Online (Sandbox Code Playgroud)
或者可以使用一个班轮:
pip install --upgrade numpy scipy pandas
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80191 次 |
| 最近记录: |