Python ctypes 无法在 Balena 上找到 Docker 中的现有库
Python ctypes can not locat existing lib in Docker on Balena
我正在尝试使用 ctypes 将已编译的 C 库绑定到我的 python 代码。我已经编译了我的库,它在我的桌面上运行良好。
但是,当我尝试在 Docker 容器中 运行 Balena 平台上的相同代码时,它无法找到我的库,事件虽然 os-module 可以找到它:
>>> os.path.exists("/app/com/libmylib.so")
True
>>> ctypes.cdll.LoadLibrary("/app/com/libmylib.so")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/ctypes/__init__.py", line 451, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python3.8/ctypes/__init__.py", line 373, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /app/com/libmylib.so: cannot open shared object file: No such file or directory
关于为什么找不到它的任何想法?
事实证明,该库是为错误的体系结构编译的。
我正在尝试使用 ctypes 将已编译的 C 库绑定到我的 python 代码。我已经编译了我的库,它在我的桌面上运行良好。
但是,当我尝试在 Docker 容器中 运行 Balena 平台上的相同代码时,它无法找到我的库,事件虽然 os-module 可以找到它:
>>> os.path.exists("/app/com/libmylib.so")
True
>>> ctypes.cdll.LoadLibrary("/app/com/libmylib.so")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/ctypes/__init__.py", line 451, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python3.8/ctypes/__init__.py", line 373, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /app/com/libmylib.so: cannot open shared object file: No such file or directory
关于为什么找不到它的任何想法?
事实证明,该库是为错误的体系结构编译的。