兩個多星期前,我試圖用numpy
找到特徵向量和2矩陣特徵值的2。它沒有工作,我得到了Illegal instruction (core dumped)
,消息。我問了一個關於stackoverflow的問題(here)。如何以正確的方式在Ubuntu上安裝numpy?
答案是,語法是正確的,我需要嘗試一個全新的安裝,它可能與「啓用SSE/SSE3的二進制文件」(無論它的意思)有關。
這些答案導演,我做了以下內容:
sudo apt-get install python-virtualenv
virtualenv ~/python2/
source ~/python2/bin/activate
pip install numpy
python tmp.py
在我tmp.py
我:
import numpy as np
from numpy import linalg as la
w, v = la.eig(np.array([[1, -1], [1, 1]]))
結果我得到了同樣的錯誤信息:Illegal instruction (core dumped)
。
是否有人知道如何Python和NumPy的必須安裝得到它的工作?
ADDED
以下順序不能解決問題:
sudo pip install virtualenv
sudo pip install virtualenv --upgrade
virtualenv venv
~/venv/bin/activate
source ~/venv/bin/activate
pip install numpy
python tmp.py
SSE/SSE3是CPU指令將http://en.wikipedia.org/wiki/SSE3。您的pip安裝numpy指令必須輸出很多'gcc ...'日誌行,您可以將它上傳到某處嗎?這個定義與virtualenv等無關。 – alko
+1 to @alko關於seberg對原始線程的評論的建議。某些版本的Ubuntu發佈了破碎的blas/lapack(我隱約記得有64位清晰的問題)。在最低限度,運行numpy.test()並查看linalg周圍是否有失敗。 –