非法指令:导入python pandas时为4

2024-09-28 21:11:33 发布

您现在位置:Python中文网/ 问答频道 /正文

由于我的Macbook带有i7 CPU,所以我现在正在开发一款旧款的MacMini,它有一个双核CPU。我只是通过USB将Macbook的内部磁盘连接到MacMini上。在

现在回到Python脚本,我遇到了一个问题,我不完全理解,也不知道如何调试。当我在python2.7.9中import pandas时,Python完全崩溃,我得到错误Illegal instruction: 4。经过一些google搜索,我认为有些包是为错误的架构编译的。但我不知道是哪一个。在

我将Python、numpy和scipy与自制程序和pandas等一起安装到一个虚拟环境中。我的系统是OSX10.10.5。在

python -vc "import pandas"的输出非常长,并且给定了{a1}。在

我试着重新安装Python、pandas、numpy和scipy。在

  • 如何找出是哪个程序包导致了错误?在
  • 我需要设置一个架构标志吗?在
  • 我该怎么解决这个问题?在

Tags: importnumpy脚本pandas架构错误scipycpu
2条回答

在我最近的经验中,这确实是由于一个链接库的架构与模块的库不一样(正如chown所建议的那样)。在

特别是,作为您要导入的python模块的一部分的C编译python库(模块目录中的_mymodule.so文件)调用一个链接的系统库(例如libgfortran.dylib),这两者之间存在架构不匹配的问题。在

如上所述,您可以使用uname -a检查系统的体系结构,并通过file /path/to/lib.dylib命令检查有问题的dylib的架构。在

删除.pyc文件也可以。在

因为它发生在
dlopen("/usr/local/lib/python2.7/site-packages/matplotlib/_pabc.so", 2);
可以尝试检查为其生成文件的架构类型:

file /usr/local/lib/python2.7/site-packages/matplotlib/_pabc.so

然后检查你的硬汉的拱门类型:

^{pr2}$

如果共享对象文件(_pabc.so)不是为该计算机生成的,则可能需要重新编译/安装/whatever、matplotlib或其依赖项之一。在

相关问题 更多 >