You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04中Python调用cdll.LoadLibrary加载libDTKLPR5.so失败求助

解决Ubuntu中ctypes无法加载共享库的问题

方法1:直接指定完整路径加载

如果明确libDTKLPR5.so的具体存放路径,直接将完整路径传入cdll.LoadLibrary即可,无需修改系统配置:

import ctypes
# 替换为你的libDTKLPR5.so实际绝对路径
self.__DTKLPR = cdll.LoadLibrary("/home/xxx/Desktop/your-lib-dir/libDTKLPR5.so")

方法2:临时添加共享库搜索路径到环境变量

在Python代码调用cdll.LoadLibrary前,将库所在目录追加到LD_LIBRARY_PATH环境变量,同时通过RTLD_GLOBAL模式加载:

import os
import ctypes

# 替换为你的libDTKLPR5.so所在目录的绝对路径
lib_directory = "/path/to/your/library/folder"
# 更新环境变量
os.environ['LD_LIBRARY_PATH'] = f"{lib_directory}:{os.environ.get('LD_LIBRARY_PATH', '')}"
# 加载库
self.__DTKLPR = ctypes.CDLL("libDTKLPR5.so", mode=ctypes.RTLD_GLOBAL)

方法3:永久添加共享库搜索路径

方式A:用户级配置

编辑用户主目录下的.bashrc或.profile文件:

# 打开文件编辑
nano ~/.bashrc

在文件末尾添加:

export LD_LIBRARY_PATH="/path/to/your/library/folder:$LD_LIBRARY_PATH"

保存退出后执行以下命令使配置生效:

source ~/.bashrc

方式B:系统级配置

  1. 在/etc/ld.so.conf.d/目录下新建配置文件:
sudo touch /etc/ld.so.conf.d/dtklpr.conf
  1. 将库所在目录写入该文件:
echo "/path/to/your/library/folder" | sudo tee /etc/ld.so.conf.d/dtklpr.conf
  1. 更新系统共享库缓存:
sudo ldconfig

方法4:创建软链接到系统默认共享库目录

将libDTKLPR5.so的软链接创建到系统默认搜索的共享库目录(如/usr/local/lib):

sudo ln -s /path/to/your/libDTKLPR5.so /usr/local/lib/libDTKLPR5.so

执行以下命令更新缓存:

sudo ldconfig

内容的提问来源于stack exchange,提问作者Aykhan.AR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:35:23