Numpy安装报错:试过N种安装方法终于

Import numpy时,会报下面的错误python

/home/spyros/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_FromObjectbash

忘了截图,大概就是PyUnicodeUCS2引起的错误,提示我某些c扩展编译有问题。但是天地良心啊,我都是直接pip装的T_Tapp

解决路径:python2.7

  1. 用pip uninstall numpy,在/usr/local/lib/python2.7/site-packages删掉numpy*文件夹,而后继续pip install。
  2. 下载miniconda,删掉原来的,而后用conda install numpy
  3. 从zip手动装,主目录下python setup.py install
  4. Pip升级以后再重装
  5. 重启虚拟机/电脑

直到我发现了这个解释:ui

You can check the size of the Unicode character a Python interpreter is using by checking the value of sys.maxunicode:spa

>>> import sys
>>> if sys.maxunicode > 65535:
...     print 'UCS4 build'
... else:
...     print 'UCS2 build'

没错,个人是UCS4 build,可是貌似那些c扩展编译的时候默认的是UCS2?code

因此须要从新编译个人python27。blog

进入python27的安装目录(天啦噜我都不知道我是第几回安装了):ip

/home/pangxiaoyi/app/Python-2.7.13ssl

注:这里能够用sys.path来打印

./configure --enable-unicode=ucs4 --with-ssl

make

sudo make install

而后再从新sudo pip install numpy以及pandas

(numpy会影响pandas,因此要重装)

相关文章
相关标签/搜索