mac OS X10.11.5安装scikit-learn后运行出现ValueError: numpy.dtype has the wrong size的错误
2016-07-21 11:18
627 查看
安装机器学习类库
通过pip命令安装机器学习类库 numpy,scipy,scikit-learn
但是安装后,运行机器学习算法,报错如下:
排查错误原因
网上给的建议大都是直接卸载再全部重装,将 numpy 、 scipy 和 scikit-learn 全部卸载了,然后在安装,操作如下
我在操作时候发现,不能通过简单的安装和卸载方式重新安装,因为重新安装可能某些类库仍然是低版本,所以要选择升级,这样能保证版本都是最新的
安装在执行这个命令时候,会报错如下:
继续剖析错误原因
查了资料,找到如下解决方案:
1、重启电脑,按command+R进入恢复模式,点击菜单【实用工具】,打开【终端】,输入 csrutil disable
2、重启电脑,正常进入,打开【终端】输入 csrutil status
这是macosx 10.11 EI Capitan使用了Rootlees,可以理解为一个更高等级的内核保护,系统会默认锁定/system , /sbin , /usr这三个目录,
通过上面方法可以将这个保护关闭。
如果没有关闭,安装一些软件时会出现
Operation not permitted
重新执行如下命令:
可以正常执行
但是重新运行机器学习算法,还是报上面的错
尝试新思路解决问题
继续查资料时终于发现有用的方法了:
http://scikit-learn-general.narkive.com/kMA6mRCk/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling
就是不用使用 pip install scikit-learn 安装,卸载之后直接使用git上 https://github.com/scikit-learn/scikit-learn 的自己安装
操作流程如下:
“running install_clib” 表示顺利安装成功
再次运行机器学习算法,不再报错了
经常在自己mac运行下机器学习算法,记得之前就遇到过这样问题,这次正好又遇到了,就整理下, 希望能对大家有所帮助吧,也不是啥干货,就是简单整理一下。
作者:stark_summer
出处:http://blog.csdn.net/stark_summer/article/details/51980888
通过pip命令安装机器学习类库 numpy,scipy,scikit-learn
sudo pip install numpy scipy scikit-learn
但是安装后,运行机器学习算法,报错如下:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Python/2.7/site-packages/sklearn/__init__.py", line 57, in <module> from .base import clone File "/Library/Python/2.7/site-packages/sklearn/base.py", line 11, in <module> from .utils.fixes import signature File "/Library/Python/2.7/site-packages/sklearn/utils/__init__.py", line 10, in <module> from .murmurhash import murmurhash3_32 File "numpy.pxd", line 155, in init sklearn.utils.murmurhash (sklearn/utils/murmurhash.c:5029) ValueError: numpy.dtype has the wrong size, try recompiling
排查错误原因
网上给的建议大都是直接卸载再全部重装,将 numpy 、 scipy 和 scikit-learn 全部卸载了,然后在安装,操作如下
我在操作时候发现,不能通过简单的安装和卸载方式重新安装,因为重新安装可能某些类库仍然是低版本,所以要选择升级,这样能保证版本都是最新的
sudo pip install -U numpy scipy scikit-learn
安装在执行这个命令时候,会报错如下:
Exception: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/basecommand.py", line 211, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/commands/install.py", line 311, in run root=options.root_path, File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_set.py", line 640, in install requirement.uninstall(auto_confirm=True) File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_install.py", line 716, in uninstall paths_to_remove.remove(auto_confirm) File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_uninstall.py", line 125, in remove renames(path, new_path) File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/utils/__init__.py", line 315, in renames shutil.move(old, new) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move copy2(src, real_dst) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2 copystat(src, dst) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat os.chflags(dst, st.st_flags) OSError: [Errno 1] Operation not permitted:
继续剖析错误原因
查了资料,找到如下解决方案:
1、重启电脑,按command+R进入恢复模式,点击菜单【实用工具】,打开【终端】,输入 csrutil disable
2、重启电脑,正常进入,打开【终端】输入 csrutil status
这是macosx 10.11 EI Capitan使用了Rootlees,可以理解为一个更高等级的内核保护,系统会默认锁定/system , /sbin , /usr这三个目录,
通过上面方法可以将这个保护关闭。
如果没有关闭,安装一些软件时会出现
Operation not permitted
重新执行如下命令:
sudo pip install -U numpy scipy scikit-learn
可以正常执行
但是重新运行机器学习算法,还是报上面的错
尝试新思路解决问题
继续查资料时终于发现有用的方法了:
http://scikit-learn-general.narkive.com/kMA6mRCk/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling
就是不用使用 pip install scikit-learn 安装,卸载之后直接使用git上 https://github.com/scikit-learn/scikit-learn 的自己安装
操作流程如下:
sudo pip uninstall scikit-learn git clone https://github.com/scikit-learn/scikit-learn.git cd scikit-learn sudo make 执行make会报错如下: RuntimeError: Running cythonize failed! Error提示,这时候安装一下 cpython 即可 sudo pip install cython 然后 继续执行make 最后执行install sudo python setup.py install copying sklearn/datasets/data/digits.csv.gz -> /Library/Python/2.7/site-packages/sklearn/datasets/data/ copying sklearn/datasets/data/linnerud_physiological.csv -> /Library/Python/2.7/site-packages/sklearn/datasets/data/ copying sklearn/datasets/data/breast_cancer.csv -> /Library/Python/2.7/site-packages/sklearn/datasets/data/ copying sklearn/datasets/data/linnerud_exercise.csv -> /Library/Python/2.7/site-packages/sklearn/datasets/data/ creating /Library/Python/2.7/site-packages/sklearn/datasets/images copying sklearn/datasets/images/flower.jpg -> /Library/Python/2.7/site-packages/sklearn/datasets/images/ copying sklearn/datasets/images/README.txt -> /Library/Python/2.7/site-packages/sklearn/datasets/images/ copying sklearn/datasets/images/china.jpg -> /Library/Python/2.7/site-packages/sklearn/datasets/images/ creating /Library/Python/2.7/site-packages/sklearn/datasets/descr copying sklearn/datasets/descr/digits.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ copying sklearn/datasets/descr/linnerud.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ copying sklearn/datasets/descr/breast_cancer.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ copying sklearn/datasets/descr/iris.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ copying sklearn/datasets/descr/boston_house_prices.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ copying sklearn/datasets/descr/diabetes.rst -> /Library/Python/2.7/site-packages/sklearn/datasets/descr/ running install_egg_info Writing /Library/Python/2.7/site-packages/scikit_learn-0.18.dev0-py2.7.egg-info running install_clib
“running install_clib” 表示顺利安装成功
再次运行机器学习算法,不再报错了
经常在自己mac运行下机器学习算法,记得之前就遇到过这样问题,这次正好又遇到了,就整理下, 希望能对大家有所帮助吧,也不是啥干货,就是简单整理一下。
作者:stark_summer
出处:http://blog.csdn.net/stark_summer/article/details/51980888
相关文章推荐
- UE4里启动物件的碰撞机制
- iOS 7.0 使用定位requestAlwaysAuthorization导致crash的问题
- poj Subsequence
- pat 1099. Build A Binary Search Tree (30)
- 关于js无法设置input的value的问题
- UILabel简单使用
- 12C - Fruits
- 22个android源码--UI
- vue 列表渲染
- V-Behavioral Questions
- UITextField的简单使用
- 性能更好的js动画实现方式——requestAnimationFrame
- break和continue区别
- iOS开发从入门到精通-- 警告对话框UIAlertView和等待提示器UIActivityIndicatorView
- 成长小计-UIImage、UIButton类扩展
- LeetCode Unique Binary Search Trees 2 递归方法
- ios UIImagePickerController 自定义裁剪框 限制比例等
- iOS开发:UITableView的deleteRowsAtIndexPaths方法的使用
- HDG杭州站报名| 分享华为CCE容器云、CloudOpera IES和视频UI开放架构实践
- 设置UIImage的渲染模式:UIImage.renderingMode