numpy undefined symbol:PyFPE_jbuf

fra*_*mnm 20 python linux numpy hdf5 anaconda

我正在尝试使用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 
Run Code Online (Sandbox Code Playgroud)

回报:

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
Run Code Online (Sandbox Code Playgroud)

在我看来,在这样的文件中有一个缺失的变量,我的猜测是脚本正在寻找错误位置的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  
Run Code Online (Sandbox Code Playgroud)

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

Gal*_*ich 31

我有同样的问题,可能你没有Anaconda安装numpy,所以有一个冲突因为这个,使用numpy:那个用pip或conda安装.当我删除非Anaconda numpy时,错误消失了.

pip uninstall numpy
Run Code Online (Sandbox Code Playgroud)


Bal*_*Jr. 9

对于cython用户:

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

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


fra*_*mnm 5

讽刺是最好的,我重新启动了我的笔记本电脑,没有做任何事情,它工作.无法理解为什么.


eat*_*ons 5

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

指定特定的点可解决问题:

/usr/bin/pip3 uninstall numpy
Run Code Online (Sandbox Code Playgroud)