成功解决Error:AttributeError: module ‘numpy‘ has no attribute ‘long‘.

news2024/9/21 22:43:02

成功解决Error:AttributeError: module ‘numpy‘ has no attribute ‘long‘.


🌵文章目录🌵

  • 🌳引言🌳
  • 🌳报错分析🌳
    • 🌳解决方案1:降低NumPy版本🌳
    • 🌳解决方案2:更改NumPy源码🌳
  • 🌳结尾🌳


🌳引言🌳

在Python编程中,NumPy是一个至关重要的库,尤其在进行大规模数值计算时。它提供了许多高效的数学函数和操作,大大简化了计算过程。然而,即使是如此强大的工具,也难免在使用过程中遇到问题。一个常见的问题就是“AttributeError: module ‘numpy’ has no attribute ‘long’”。这个错误信息表明在代码中尝试访问NumPy库中的long属性时出现了问题。本文将深入探讨这个问题的原因,并提供解决方案。


🌳报错分析🌳

报错截图如下:

在这里插入图片描述

图1 报错截图

从报错信息来看,当前版本的NumPy库已经没有long属性,因此可行的解决方案是降低numpy版本。

🌳解决方案1:降低NumPy版本🌳

当前NumPy版本如下图所示:在这里插入图片描述

图2 当前NumPy版本

为了满足项目需求,我们需要将当前环境中NumPy的版本从1.25.0降级到一个较旧的版本。
首先,我们可以执行python指令查看当前的python版本

Python 3.9.1 (default, Dec 11 2020, 09:29:25) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 

从运行结果可以看出,当前python版本为3.9.1

已知目前环境中的python版本为3.9.1,下一步就是确定哪些较旧的numpy版本与当前python版本兼容。通过查询🔗Numpy官方文档🔗,可以得到Numpy版本和python版本的对应关系,示例如下:

Numpy版本兼容的Python版本
1.26.03.9-3.12
1.25.03.9-3.11
1.24.03.8-3.11
1.23.03.8-3.10
1.22.03.8-3.10
1.21.03.7-3.9

从表格可以看出,我们可将Numpy版本降低⬇️到1.21.0即可。命令如下:

# 卸载当前NumPy版本
pip uninstall numpy

# 安装指定版本的NumPy
pip install numpy==1.21.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

在处理NumPy库中缺少float属性的问题时,一些开发者可能会选择降低Numpy的版本以寻求解决方案。然而,这种做法背后潜藏着危机。关键的是,许多重要的第三方库(如opencv)对NumPy的版本有特定的要求。为了修复一个小错误而轻率地卸载当前版本的NumPy库,可能会引发一系列的运行时问题。新安装的NumPy版本可能与那些依赖特定NumPy版本的第三方库存在兼容性问题,这无疑增加了系统出现故障的风险。


🌳解决方案2:更改NumPy源码🌳

基于提供的错误信息,我们能够准确地找到引发错误的代码段。在深入剖析后,我们发现问题很可能源自图中绿色高亮显示的代码行。只要我们对这行代码进行细致的检查并作出相应的调整,就有很大的机会修复这个问题。

在这里插入图片描述

图3 出错代码行

修改后的代码行如下所示:
my_array = np.zeros((224, 224), np.long)  # 修改前
my_array = np.zeros((224, 224), int)  # 修改后
my_array = np.zeros((224, 224), np.int32)  # 修改后
my_array = np.zeros((224, 224), np.int64)  # 修改后

我们只需要把np.long修改成np.int32np.intnp.int64即可在不更换numpy版本的前提下解决numpy库没有 'long’属性的问题。

参考文章


🌳结尾🌳

亲爱的读者,首先感谢抽出宝贵的时间来阅读我们的博客。我们真诚地欢迎您留下评论和意见💬
俗话说,当局者迷,旁观者清。的客观视角对于我们发现博文的不足、提升内容质量起着不可替代的作用。
如果博文给您带来了些许帮助,那么,希望能为我们点个免费的赞👍👍/收藏👇👇,您的支持和鼓励👏👏是我们持续创作✍️✍️的动力
我们会持续努力创作✍️✍️,并不断优化博文质量👨‍💻👨‍💻,只为给带来更佳的阅读体验。
如果有任何疑问或建议,请随时在评论区留言,我们将竭诚为你解答~
愿我们共同成长🌱🌳,共享智慧的果实🍎🍏!


万分感谢🙏🙏点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1421693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Github 上传项目(个人令牌token)

1.点击 github头像 : setting -> Developer Settings -> Personal access tokens 2.在要上传的文件夹下运行以下命令: git init git commit -m "first commit" git branch -M main 利用以下命令模…

使用流服务器m7s对接gb28181

优:sip品牌兼容性比较好,大华,海康都稳定可以,srs的5.0 sip品牌兼容性大华没反应,akstream-sip 大华也有问题,wvp也还可以 缺:目前最新的4.7.4版本,,sip协议用udp正常&a…

IP 层转发分组的过程

目录 IP 层转发分组的过程 1.1 基于终点的转发 1.2 最长前缀匹配 转发表中的 2 种特殊的路由 主机路由 (host route) 默认路由 (default route) 路由器分组转发算法 1.3 使用二叉线索查找转发表 IP 层转发分组的过程 1.1 基于终点的转发 分组在互联网中是逐跳转发的。…

Angular组件(二) 分割面板ShrinkSplitter

Angular组件(二) 分割面板ShrinkSplitter 前言 在Angular组件(一) 分割面板ShrinkSplitter文章中我们实现了Splitter组件,后来在业务场景中发现在开关右侧容器和底部容器时,使用起来不方便,ngModel绑定的值始终是左侧容器和顶部容器的大小&…

电路分享 —— 单片机 1个IO口检测多路按键

一、设计要求 设计要求:因为单片机的IO口数量较少,要求使用1路IO口检测4路按键。 二、设计思路 设计思路:单片机的IO口数量较少的情况下,使用1路IO口检测4路按键,可以通过检测电压值来进行区分,即使用IO口…

如何纯前端实现文件下载

业务场景 有一个下载文件的功能,不引入后端资源,纯前端应该如何实现? 解决方案 在vue2或者vue3项目中,可以把文件放在 public 文件夹下,然后使用a标签进行文件下载。 如:我要下载的文件是模版.xlsx 。首…

STM32学习笔记二——STM32时钟源时钟树

目录 STM32芯片内部系统架构详细讲解: 1.芯片内部混乱电信号解决方案: 2.时钟树: 1.内部RC振荡器与外部晶振的选择 2. STM32 时钟源 3.STM32中几个与时钟相关的概念 4.时钟输出的使能及其流程 5.时钟设置的基本流程 时钟源——单片机…

应用下载页源码简洁高大尚下载单页

首先可以设置多个下载源 软件截图可以滚动 暗夜主题交换 图片都可以自定义配置 精美的页面会让你眼前一亮的 源代码学习资料:https://pan.baidu.com/s/1ulE9zde2XMs-6E7eF3D3kg?pwdfhxq 密码:123

1178:单词数

题目描述 统计一篇文章里不同单词的总数。 输入 有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由大小写字母和空格组成,没有标点符号,遇到#时表示输入结束。每篇文章的单词数小于1000,每个单词最多由30个…

系统分析师-22年-下午题目

系统分析师-22年-下午题目 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答,二、三、四、五题中任选其中两题作答 试题一 (25分) 说明 某软件公司拟开发一套博客系统,要求能够向用户提供一个便捷发布自已心得,及时有效的…

Cmake编译Opencv3.3.1遇到有些文件无法下载的错误解决:

前言: 对于,opencv有些配置文件错误并未致命,所以,有错误也不影响后续的编译:但是,后引用如果要用,在回过头来还是要解决的。 问题表述: 比如,有些文件下载的错误&am…

穷游网酒店数据采集与可视化分析与实现

摘 要 穷游网酒店数据采集与可视化分析大屏的背景是为了满足用户对酒店数据的需求以及提供数据洞察和决策支持。随着旅游业的快速发展,人们对酒店信息的需求日益增加,而穷游网作为一家专注于旅游信息的网站,拥有丰富的酒店数据资源。 这个大…

JS基础 - 遍历对象方法(6种)

初始值: var obj {a: 1,b: 2,c: 3,d: 4,e: 5,}; 第一种:for in for (let key in obj) {console.log(key ":" obj[key]);} 第二种:Object.keys 获取key Object.keys(obj).forEach((key) > {console.log(key ":" …

【乳腺肿瘤诊断分类及预测】基于Elman神经网络

课题名称:基于Elman神经网络的乳腺肿瘤诊断分类及预测 版本日期:2023-05-15 运行方式: 直接运行Elman0501.m 文件即可 代码获取方式:私信博主或QQ:491052175 模型描述: 威斯康辛大学医学院经过多年的收集和整理&a…

关于TongWeb部署应用报错java.lang.NoSuchFieldError: REFLECTION (by liuhui)

关于TongWeb部署应用报错java.lang.NoSuchFieldError: REFLECTION (by liuhui) 关于TongWeb部署应用报错java.lang.NoSuchFieldError: REFLECTION 问题现象:xml解析对象工厂类错误导致解析失败 解决办法:增加配置参数问题解决 -…

学习鸿蒙基础(2)

arkts是声名式UI DevEcoStudio的右侧预览器可以预览。有个TT的图标可以看布局的大小。和html的布局浏览很像。 上图布局对应的代码: Entry //入口 Component struct Index {State message: string Hello Harmonyos //State 数据改变了也刷新的标签build() {Row()…

MATLAB知识点:MATLAB的文件管理

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第2章 上一章我们说过,MATLAB是一款非常强…

opencv-python计算视频光流

光流基本概念 光流表示的是相邻两帧图像中每个像素的运动速度和运动方向。具体:光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系&#xf…

软考复习之数据结构篇

算法设计 迭代法:用于求方程的近似根。 1、若方程无解,则算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考查方程是否有解,并在程序中对迭代的次数给予限制。 2、方程虽有解&#…

B3626 跳跃机器人——洛谷(疑问)

题目描述 地上有一排格子,共 �n 个位置。机器猫站在第一个格子上,需要取第 �n 个格子里的东西。 机器猫当然不愿意自己跑过去,所以机器猫从口袋里掏出了一个机器人!这个机器人的行动遵循下面的规则&#…