ImportError:/home/test/test_1.so:来自cython build的错误的ELF类

时间:2012-12-23 07:54:53

标签: python cython elf importerror

我在tutorial说{({1}})时已在cython中构建.so。 在我建立的那个系统上工作正常;没有python setup.py build_ext --inplace;但是当我在其他系统上使用它时,它会给我一个错误消息,作为
ImportError

我认为它在32位和64位库之间不匹配;那么如何在进行cython化时修复它?

2 个答案:

答案 0 :(得分:3)

你做不到。您需要在64位系统上重建.so,并确保始终在正确的系统上使用正确的版本。由于这些体系结构的不同,cython几乎不可能在64位系统上使用32位库,反之亦然。你会遇到同样的问题,例如: Ruby FFI。

答案 1 :(得分:2)

您不能在不同的体系结构中共享相同的二进制文件。但只要您在任一系统上安装了python和所需的库,就可以编译Cython生成的.c文件,而不需要在其他机器上安装Cython(即将.pyx转换为.c) )。