我的問題如下。我工作的Ubuntu
,有一個cython
代碼,我編譯使用如下:Python:導入cython編譯庫的ELF頭文件無效
from distutils.core import setup
from Cython.Build import cythonize
import numpy
setup(
ext_modules = cythonize("cython_accelerate.pyx"),
include_dirs = [numpy.get_include()]
)
編制工作正常。當我嘗試導入生成的庫(cython_accelerate.so)我得到以下錯誤:
invalid ELF header.
如果我在Mac上的一切完全一樣的程序完美的作品:唯一不同的是,庫與生成不同的名稱(cython_accelerate.cpython-35m-darwin.so),但導入按預期工作,沒有問題。
我在做什麼錯?
是什麼'file'說對生成的'.so'文件的類型? binutils工具如nm可以成功解析它嗎?什麼*確切*是您的本地平臺(架構和操作系統)?我們真的需要更多的細節來診斷這一點 - 理想的完整步驟來重現。 –