这个错误是什么意思:无效的ELF头部。

16

我在Django调试模式下遇到了IMPORT ERROR,错误信息如下:/usr/local/lib/python2.6/dist-packages/lxml-2.3-py2.6-win32.egg/lxml/objectify.pyd: invalid ELF header

这是什么意思,该怎么解决?目前谷歌上并没有很多相关信息。这个错误来自我在Django应用程序中使用的

更新: 我正在使用Ubuntu和Python2.6。


4
你正在尝试在Linux上导入一个win32编译的“egg”文件。 - Anders Lindahl
请告知您所使用的平台和 Python 版本。 - Jan Hudec
3个回答

16

这个错误意味着 objectify.pyd 不是一个有效的共享库。看起来你编译的 lxml 版本与你正在运行的 Python 版本不同。

从路径名和 'ELF' 是 unix 上使用的对象(共享和可执行)格式的事实来猜测,以及包含“-win32”在名称中的包,你可能正在尝试在 Linux 上使用 Windows 构建版本。


这相当奇怪,不是吗?那么我该如何用 Linux 版本替换它呢? - super9
1
可能是 apt-get install python-lxml 或类似的命令。 - Ignacio Vazquez-Abrams
@Ignacio 我看到了你之前的帖子,已经尝试过 apt-get install python-lxml 了。这就像余波。 - super9
1
好的,那就移除掉已经为错误操作系统构建的蛋吧。 - Ignacio Vazquez-Abrams
我在使用另一个库时遇到了类似的问题。由于我使用的是macOS系统,Python使用本地库,这与Azure云函数Linux操作系统不兼容。因此,我使用了Python Docker镜像来构建.python_packages依赖项。 - andolsi zied

0

只需简单地执行

pip install -U lxml

我曾经遇到过同样的错误,后来发现有一个更新版本可以修复它。

根据你是否使用虚拟环境,你可能需要在前面加上sudo。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接