numpy 未定义符号:PyFPE_jbuf

新手上路,请多包涵

我正在尝试使用一百万首歌曲数据集,为此我必须安装 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

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

原文由 frammnm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

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

 pip uninstall numpy

原文由 alperovich 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 cython 用户:

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

正如那篇文章中进一步指出的那样,我的 Ubuntu 16.04 是用这个标志创建的,而 Conda 没有它。对我来说,特别是模块 hmmlearn 抛出了未定义的符号错误。一定是这种情况,因为它是由 Ubuntu 提供的,并且设置了标志,而不是由 anaconda 提供。所以我卸载了 hmmlearn 并从源代码手动重新安装它(不幸的是,Anaconda 不提供 hmmlearn)。 –> 有效!

原文由 BaluJr. 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏