2014-10-06 25 views
3

安裝scikit,生物,當我想通過PIP安裝Python庫scikit-生物使用下面的命令:#ERROR「SSE2指令集未啓用」通過PIP

sudo pip install scikit-bio 

我的系統上:

uname -a 
Linux grassgis 3.2.0-69-generic-pae #103-Ubuntu SMP Tue Sep 2 05:15:53 UTC 2014 i686 i686 i386 GNU/Linux 

然而,這將導致錯誤:

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c skbio/alignment/_ssw/_ssw_wrapper.c -o build/temp.linux-i686-2.7/skbio/alignment/_ssw/_ssw_wrapper.o 
    In file included from skbio/alignment/_ssw/ssw.h:17:0, 
        from skbio/alignment/_ssw/_ssw_wrapper.c:355: 
    /usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled" 
    /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/__multiarray_api.h:1532:1: warning: ‘_import_array’ defined but not used [-Wunused-function] 
    /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/__ufunc_api.h:226:1: warning: ‘_import_umath’ defined but not used [-Wunused-function] 
    error: command 'gcc' failed with exit status 1 

我跑已經sudo apt-get updatesudo apt-get upgrade獲取已安裝軟件的最新版本。

我的GCC的版本是:

gcc --version 
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 

我怎樣才能成功安裝scikit,生物包蟒蛇?

+0

相關:http://stackoverflow.com/questions/16410149/error-sse2-instruction-set-not-enabled-when-including-emmintrin-h – 2014-10-06 09:04:10

+0

幾個問題。 1.您使用的是什麼機器?如果您的機器真的很舊,那麼您的機器有可能沒有內置SSE2指令。 2.您使用的是什麼Ubuntu發行版?你在使用Precise嗎? – mortonjt 2014-10-09 03:31:36

回答

4

此問題之前是在scikit-bio問題跟蹤器上使用i686機器的reported by a user。編譯SSW時發生錯誤,這是一個隨scikit-bio一起發佈的外部C程序。 SSW的作者建議將-msse2傳遞給編譯器來解決該問題。

A fix was merged進入scikit-bio的開發分支,以包括i686機器的這個標誌。

CFLAGS=-msse2 pip install scikit-bio 

或:

sudo CFLAGS=-msse2 pip install scikit-bio 

另外,scikit-生物的setup.py

如果要安裝scikit-生物的發行版,您可以通過CFLAGS在命令行上指定這個標誌文件可以被修改爲在SSW的extra_compile_args中包括'-msse2'