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,因此要重裝)

相關文章
相關標籤/搜索