自学内容网 自学内容网

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

前情简要:

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

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真的能正常运行了!!

这给我的教训是:

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

原文地址:https://blog.csdn.net/Meggie35/article/details/143629808

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!