#error “SSE2 指令集未启用”通过 pip 安装 scikit-bio 时
Posted
技术标签:
【中文标题】#error “SSE2 指令集未启用”通过 pip 安装 scikit-bio 时【英文标题】:#error “SSE2 instruction set not enabled” when installing scikit-bio via pip 【发布时间】:2014-10-06 07:42:28 【问题描述】:我想使用以下命令通过 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 包?
【问题讨论】:
相关:***.com/questions/16410149/… 几个问题。 1、你用的是什么机器?如果您的机器真的很旧,那么您的机器可能根本没有内置 SSE2 指令。 2. 您使用的是哪个 Ubuntu 发行版?您使用的是 Precise 吗? 【参考方案1】:这个问题以前是reported by a user 在 scikit-bio 问题跟踪器上使用 i686 机器。编译 SSW(scikit-bio 附带的外部 C 程序)时发生错误。 SSW 的作者建议将-msse2
传递给编译器以解决此问题。
将fix was merged 加入 scikit-bio 的开发分支,以包含 i686 机器的此标志。
如果你安装的是 scikit-bio 的发布版本,你可以在命令行中通过CFLAGS
指定这个标志:
CFLAGS=-msse2 pip install scikit-bio
或:
sudo CFLAGS=-msse2 pip install scikit-bio
或者,可以修改 scikit-bio 的 setup.py
文件以在 SSW 的 extra_compile_args
中包含 '-msse2'
。
【讨论】:
以上是关于#error “SSE2 指令集未启用”通过 pip 安装 scikit-bio 时的主要内容,如果未能解决你的问题,请参考以下文章
Raspberry Pi 安装 go 后提示错误 Exec format error
Raspberry Pi、Python、XBee 到 Arduino Xbee.write() 错误