在python中导入.so文件

问题描述 投票:0回答:1

这个问题已经被问过一百万次了,但是在尝试了我找到的所有方法之后,我仍然收到一个 ImportError 错误。所以,我正在这样做:

import sys

sys.path.append("/usr/local/lib")

import libIpxCameraApiPy # I've tried libIpxCameraApiPy.so as well

我得到:

ImportError: /usr/local/lib/libIpxCameraApiPy.so: cannot open shared object file: No such file or directory

我应该提一下:

  1. /usr/local/lib/中确实有一个名为libIpxCameraApiPy.so的文件
  2. 如果我这样做
    cat /etc/ld.so.conf.d/libc.conf
    我得到

# libc default configuration

/usr/local/lib

  1. 我也尝试过

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    ldconfig

  2. 我之前实际上已经能够在不同的电脑上完成这项工作,只需像这次一样将此文件粘贴到“/usr/local/lib”中,不需要其他任何东西。

任何使此导入工作正常进行的帮助将不胜感激。

python ubuntu shared-libraries python-import
1个回答
0
投票

ImportError: /usr/local/lib/libIpxCameraApiPy.so: cannot open shared object file: No such file or directory 

file /usr/local/lib/libIpxCameraApiPy.so /usr/local/lib/libIpxCameraApiPy.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=2934dfd0eedd2446bc661e09a4daf9fe31e7ced1, not stripped

您正在尝试将 64 位库加载到 32 位 Python 中。

您可以通过运行

python
并观察它是否显示
file $(which python)
来验证您的
ELF 32-bit LSB ...
是否为 32 位。

修复方法是安装并使用 64 位 Python。

© www.soinside.com 2019 - 2024. All rights reserved.