ValueError: numpy.dtype has the wrong size, try recompiling常用的机器学习的包有:
numpy
pandas
spicy
scikit-learn
以及需要用到的作图工具matplotlib
安装过程:
1.numpy
sudo pip install numpy
2.安装scipy
pip install scipy
3.安装pandas
pip install pandas
4.安装scikit-learn
pip install -U scikit-learn
5.安装matplotlib
pip install matplotlib
安装之后可以使用
pip freeze
查看已安装的包
pip install --upgrade xxx
升级已安装的包
遇到的问题:
问题一:
在安装或者卸载包的时候可能会出现
OSError: [Errno 1] Operation not permitted:
问题主要是由于EICaption使用了Rootlees,可以理解为一个更高等级的内核保护,系统会默认锁定/system , /sbin , /usr这三个目录
这时候可以通过
1.重启电脑,按command+R进入恢复模式,点击菜单【实用工具】,打开【终端】,输入 csrutil disable
2.重启电脑,正常进入,打开【终端】输入 csrutil status
同时在卸载的时候使用管理员权限
sudo pip uninstall xxx
问题二:
使用scikit-learn时出现
ValueError: numpy.dtype has the wrong size, try recompiling
根据网上的建议都是重新卸载numpy,scipy,scikit-learn然后重新安装,其中scikit-learn使用
pip install -U numpy scipy scikit-learn
但是经过试验之后问题依然存在。
这时可以使用一下途径来解决问题:
git clone https://github.com/scikit-learn/scikit-learn
cd scikit-learn
make
sudo python setup.py install
在安装过程中可能会出现
RuntimeError: Running cythonize failed!
因此可以在安装scikit-learn之前安装cythonize
pip install cython