由于我的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。在
在我最近的经验中,这确实是由于一个链接库的架构与模块的库不一样(正如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);
,可以尝试检查为其生成文件的架构类型:
然后检查你的硬汉的拱门类型:
^{pr2}$如果共享对象文件(
_pabc.so
)不是为该计算机生成的,则可能需要重新编译/安装/whatever、matplotlib或其依赖项之一。在相关问题 更多 >
编程相关推荐