当前位置:首页 » 《资源分享》 » 正文

【Python】pandas 和numpy版本不兼容怎么办?遇到numpy.dtype size change的解决方法(解决方法篇)

19 人参与  2024年12月14日 18:01  分类 : 《资源分享》  评论

点击全文阅读


前情简要:

之前我在写程序的时候,因为运行了别人写的程序文件,不知道为啥,直接报出了这个问题:
在这里插入图片描述

ValueError: numpy.dtype size changed, may indicate binary
incompatibility. Expected 96 from C header, got 88 from PyObject

因为在网上找了很久的解决方案,还是无法解决,于是写了这篇摆烂文章:【Python】遇到pandas 和numpy版本不兼容怎么办?(摆烂篇)

然后后来也尝试了使用重新开一个conda环境,导致,pandas的问题确实是解决了,但是相当于重新再来,也就是我以前用过的一些包,就得重新再下载了

(对于我这种偷懒星人,这实在是不可行)

(关于重新开conda环境,可以看这篇:【Python】怎么创建一个新的conda环境,并在其中安装所需的软件包)

解决思路:

这几天看到这篇文章:【问题】ValueError: numpy.dtype has the wrong size, try recompiling解决
在这里插入图片描述我按照上面的操作,更新了numpy的版本号,但是我升级版本号时,就会遇到:pip 需要update的问题,要更新numpy或者pandas的版本,就得先更新pip的版本!

可是无论试了多少次更新pip ,遇到的问题,不是网络中断,就是不断返回pip的版本过低,要升级pip(这不是陷入循环里面了吗, 哭死)

不过今天,这篇文章给了我一个方向,既然问题在于版本不兼容,我无法更新这两个版本,那么我能不能手动自己替换这两个包呢,把它们换成正常的包就可以了呀。

解决方法:
因为公司有很多台电脑,有另外的电脑是可以正常使用pandas的,我通过右键点击,找到了存放pandas和numpy包的位置,并复制一份到我的电脑上来。

然后我在pycharm找到我常用的解释器的位置——因为我一直使用的是anaconda 的环境,所以一般就是在这个解释器的位置底下的包。

在这里插入图片描述

我有问题的是numpy和pandas的包,或者直接新建一个空白文件,下点击这个包的位置:在这里插入图片描述
我这里也找到了这个pandas的路径位置了。

然后我打开到site_packages这个文件下,把没有问题的numpy和pandas都置换就好啦!

(详细查找 site_packages的方法,可以参考:【Python】anancode怎么快速找到site-packages 的路径位置 )

我把正常没有问题的两个包放着本文这里(在文章上面的资源处),有需要的伙伴可以自取~

最后当我认真看看两个版本有什么不同的时候, 我发现numpy包的这个文件,的确内容发生了改变:

(原来有问题的)
在这里插入图片描述(全是注释)

(正常没问题的:)在这里插入图片描述
两个包的内容完全是不一样的。

不过置换了以后,我的pandas真的能正常运行了!!

这给我的教训是:

运行别人的文件的时候,一定要在虚拟环境下运行(不能让别人的文件改动自己的配置!)可以做一个site_packages里面的所有安装包的备份,这样要是文件被篡改掉了,还能找回来替换!

PS: 在替换包的时候,由于版本问题,导入包可能会有不匹配的风险!!!

建议原来的包不要直接替换或者删除,先重命名,或者备份一份,再把后面的包导入,

这样的话可以避免安装包不合适,可以替换回原来的,不至于影响其他安装包的运行哦!

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/201288.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1