人工智能 - 在 Python 中导入 .so 时出错



我有一个由Jeff Shufelt 在人工神经网络上创建的代码,我喜欢在一些照片中运行一些数据的跟踪和测试,但每当我运行他的程序时,我都会收到此错误。

Traceback (most recent call last): 
File "run_ann.py", line 3, in <module>
  import ann
File "/media/405A4CA95A4C9E12/Users/User/Desktop/me3-4/ann/src/linux/python/ann.py",   
line 26, in <module>
  _ann = swig_import_helper()
File "/media/405A4CA95A4C9E12/Users/User/Desktop/me3-4/ann/src/linux/python/ann.py",
line 22, in swig_import_helper
  _mod = imp.load_module('_ann', fp, pathname, description)
ImportError: /media/405A4CA95A4C9E12/Users/User/Desktop/me3-4/ann/src/linux/python
/_ann.so: wrong ELF class: ELFCLASS32

看起来你的 Python 进程是 64 位(或至少不是 32 位),无法加载 32 位库(_ann.so,ELFCLASS32)。看看你是否可以获得该库的64位版本。

看起来像是架构问题?如果你正在运行一个同时包含 32 位和 64 位的胖 python 二进制文件,你可以提取 64 位部分并强制 python 使用它。

lipo -info ../bin/python
>>Architectures in the fat file: ../bin/python are: i386 x86_64
cp ../bin/python ../bin/python-universal
lipo ../bin/python-universal -thin x86_64 -output ../bin/python

你应该很甜蜜。

编辑:哦,如果你在虚拟环境中运行,就这样做。否则,您将面临弄乱机器上其他东西的风险!

相关内容

最新更新