numpy 未定义符号:PyFPE_jbuf
- 2024-11-14 08:29:00
- admin 原创
- 16
问题描述:
我正在尝试使用一百万首歌曲数据集,为此我必须安装 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
我仍然遇到相同的错误。我真的需要帮助,不知道还能尝试什么。谢谢。
解决方案 1:
我遇到了同样的问题,可能你安装了没有 Anaconda 的 numpy,因此会出现冲突,不知道该使用哪个 numpy:用 pip 安装的还是用 conda 安装的。当我删除非 Anaconda numpy 时,错误就消失了。
pip uninstall numpy
解决方案 2:
对于 cython 用户:
这篇文章很有帮助。文章解释说,有一些标志(--with-fpectl)要么在编译 cpython 时设置,要么不设置。当使用没有该标志的 cpython 编译库时,它与设置了该标志的版本不兼容。这种影响仅在使用 cython 时才会出现,因为 numpy 本身不使用此扩展。
正如该帖子进一步指出的那样,我的 Ubuntu 16.04 是使用此标志创建的,而 Conda 则没有。对我来说,具体是模块hmmlearn抛出了未定义符号错误。一定是这样,因为它是由 Ubuntu 附带的,并且设置了标志,而不是由 anaconda 附带的。所以我卸载了 hmmlearn,并从源代码手动重新安装了它(不幸的是,Anaconda 不提供 hmmlearn)。--> 有效!
解决方案 3:
讽刺的是,我什么都没做就重启了笔记本电脑,结果一切正常。我不明白为什么。
解决方案 4:
我同意之前的帖子,这似乎是由于安装了多个版本的numpy造成的。对我来说,仅仅使用pip是不够的,因为我还安装了多个版本的pip。
指定特定的 pip 解决了该问题:
/usr/bin/pip3 uninstall numpy
解决方案 5:
最初,我使用系统 /usr/bin/pip 和 anconda pip 安装了 cython。我使用系统 pip 卸载了系统 cython,然后使用 重新安装 conda install cython
。现在可以正常工作。
解决方案 6:
首先删除numpy
,/usr/local/lib/python2.7/dist-packages/numpy-1.11.0-py2.7-linux-x86_64.egg
然后使用以下命令
sudo pip install numpy scipy
就我而言,我已经解决了这个错误。
解决方案 7:
我在特定情况下遇到了这个问题。我使用Anaconda(我认为是 3)创建了一个新环境。之前,我使用 numpy 创建了一个 py3 环境,不确定是否相关。但在创建新的 py2.7 环境时,我通过 pip 安装了一个特定的包 Ta-lib,但随后出现了与 numpy 相关的相同问题的导入错误,具体情况是 Ta-lib。
从这篇文章中,Gaurav 建议 使用 pip 标志 --no-cache-dir来确保在安装 numpy 期间进行重建。我卸载了我的 Ta-lib 和 numpy,然后通过 pip 使用此标志重新安装它们,一切正常。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件