【发布时间】:2013-01-14 16:54:09
【问题描述】:
我正在尝试在我的工作机器 (OpenSuse x86_64) 上使用 PIP 安装 Biopython(一个 python 包)。
一切都很好,直到它尝试使用 numpy 标头进行一些编译
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC -I/usr/lib64/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c Bio/Cluster/clustermodule.c -o build/temp.linux-x86_64-2.7/Bio/Cluster/clustermodule.o
什么时候失败
Bio/Cluster/clustermodule.c:2:31: fatal error: numpy/arrayobject.h: No such file or directory
这是因为numpy/arrayobject.h在
/usr/local/lib64/python2.7/site-packages/numpy/core/include/
而不是
/usr/lib64/python2.7/site-packages/numpy/core/include
有没有办法更新设置包含路径的任何变量(到 /local 版本),无论是全局还是显式安装?
更新
一年多之后,我遇到了类似的问题,只不过这次.h 文件根本不存在于我的系统中。只需将 .h 从另一台机器复制到
/usr/lib64/python2.7/site-packages/numpy/core/include/numpy
目录安装顺利。
【问题讨论】:
-
我认为 biopython 的打包是错误的,因为它没有尝试 import numpy 并检查 numpy.__file__ 我建议打开一个错误报告。
-
我的系统也可能设置错误 - 我的 numpy.__file__ 指向 '/usr/lib64/python2.7/site-packages/numpy/'
-
您是否尝试过section 8 中提到的本地安装?我刚刚在我的本地机器上做了一个 pip install --user biopython ,它工作得很好。当然在第 8 节中不是 pip 安装。
-
可以让pip只下载,在setup.py中修改路径,然后手动安装。
-
或者,您可以复制或链接相关文件,以便 pip 可以找到它们。
标签: python numpy include pip biopython