我想使用以下命令通过pip安装python库scikit-bio:
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 update和sudo apt-get upgrade来获取已安装软件的最新版本。
我的GCC版本是:
gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3如何成功安装python的scikit-bio包?
发布于 2014-11-08 14:09:49
这个问题以前是在scikit bio问题跟踪器上的i686机器上出现的。该错误发生在编译SSW时,这是一个随scikit-bio一起提供的外部C程序。SSW的作者建议将-msse2传递给编译器来修复这个问题。
将此标志包含到i686计算机的scikit bio开发分支中的fix was merged。
如果您正在安装scikit bio的发布版本,则可以通过命令行上的CFLAGS指定此标志:
CFLAGS=-msse2 pip install scikit-bio或者:
sudo CFLAGS=-msse2 pip install scikit-bio或者,可以修改scikit bio的setup.py文件,将'-msse2'包含在SSW的extra_compile_args中。
https://stackoverflow.com/questions/26211814
复制相似问题