numpy undefined symbol:PyFPE_jbuf

时间:2016-03-23 23:38:37

标签: python linux numpy anaconda hdf5

我正在尝试使用One Million Song数据集,为此我必须安装python表,numpy,cython,hdf5,numexpr等等。

昨天我设法安装了我需要的所有东西,在遇到hdf5的麻烦之后,我下载了预编译的二进制包,并将它们保存在我的/ bin文件夹中,以及/ lib中的相应库,之后我测试了这个python脚本:http://labrosa.ee.columbia.edu/millionsong/sites/default/files/tutorial1.py.txt

并且它工作正常,要明确我的工作方式是首先运行脚本并开始安装所需的依赖项,但今天我重新启动我的笔记本电脑,它不起作用,现在它抛出我这个错误控制台:

python2.7 script.py 

返回:

import numpy as np # get it at: http://numpy.scipy.org/
from . import random
from .mtrand import *
ImportError: /home/francisco/.local/lib/python2.7/site-packages/numpy/random/mtrand.so: undefined symbol: PyFPE_jbuf
在我看来,在这样的文件中有一个缺失的变量,我的猜测是脚本正在寻找错误位置的numpy库,因为我做了这么多失败的安装,也许我打破了一些东西而且它只能解决因为它被加载到计算机的临时内存中。

我尝试安装Anaconda,我创建了一个新的环境并安装了与anaconda包管理器一起打包,甚至认为我列出了所有包装并返回:

# packages in environment at /home/francisco/anaconda2/envs/Music:
#
biopython                 1.66                np110py27_0  
cython                    0.23.4                    <pip>
hdf5                      1.8.15.1                      2  
mkl                       11.3.1                        0  
numexpr                   2.5                 np110py27_0  
numpy                     1.10.4                   py27_1  
openssl                   1.0.2g                        0  
pillow                    3.1.1                     <pip>
pip                       8.1.1                    py27_0  
pytables                  3.2.2               np110py27_1  
python                    2.7.11                        0  
python-ldap               2.4.25                    <pip>
readline                  6.2                           2  
reportlab                 3.3.0                     <pip>
requirements              0.1                       <pip>
setuptools                20.3                     py27_0  
sqlite                    3.9.2                         0  
tables                    3.2.2                     <pip>
tk                        8.5.18                        0  
wheel                     0.29.0                   py27_0  
zlib                      1.2.8                         0  

我仍然得到同样的错误。我真的需要帮助,不知道还有什么可以尝试。谢谢。

7 个答案:

答案 0 :(得分:28)

我有同样的问题,可能你已经安装了没有Anaconda的numpy,因此存在冲突因为这个,使用numpy:用pip或conda安装的那个。当我删除非Anaconda numpy时,错误消失了。

pip uninstall numpy

答案 1 :(得分:7)

对于cython用户:

This帖子很有帮助。该帖子解释说,有一些标志(--with-fpectl),它是在编译cpython期间设置的。使用不带该标志的cpython编译库时,它与设置了该标志的版本不兼容。这种效果只会在你使用cython时出现,因为numpy本身不使用这个扩展。

正如在该帖子中进一步说明的那样,我的Ubuntu 16.04已经创建了这个标志和没有它的Conda。对我来说,特别是模块 hmmlearn 抛出未定义的符号错误。这一定是这种情况,因为它是由Ubuntu运送的,标志设置而不是anaconda。所以我卸载了hmmlearn并从sourcescode重新手动安装了它(不幸的是,Anaconda没有提供hmmlearn)。 - &GT;作品!

答案 2 :(得分:5)

讽刺是最好的,我重新启动了我的笔记本电脑而没有做任何事情,这很有效。无法理解为什么。

答案 3 :(得分:4)

我同意以前的帖子,这似乎是由安装了多个版本的numpy引起的。对我来说,仅使用pip是不够的,因为我还安装了多个版本的pip。

指定特定点数解决了问题:

/usr/bin/pip3 uninstall numpy

答案 4 :(得分:0)

最初,我使用system / usr / bin / pip和anconda pip安装了cython。我使用系统pip卸载了系统cython并重新安装使用 conda install cython。立即行动。

答案 5 :(得分:0)

首先从numpy中删除/usr/local/lib/python2.7/dist-packages/numpy-1.11.0-py2.7-linux-x86_64.egg 然后使用以下命令

sudo pip install numpy scipy

我已经解决了这个错误。

答案 6 :(得分:0)

在特定情况下,我遇到了这个问题。我使用 Anaconda (我认为3)创建了一个新环境。以前我用numpy创建了一个py3 env,不确定是否相关。但是,在创建新的py2.7环境时,我去通过pip安装了一个特定的软件包Ta-lib,但是在Ta-lib的特定情况下,也遇到了与numpy有关的相同Question的导入错误。

From this post Gaurav suggested 使用pip标志--no-cache-dir 来确保在安装numpy期间进行重建。我卸载了Ta-lib和numpy,然后通过pip将此标志重新安装了它们,一切正常。