问题
python: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory
原因
编译安装完成后,没有将python/lib下的文件放入默认库/usr/lib或/lib中,导致初始化时无法加载库文件。
解决方案
添加库的配置信息,将python/lib的绝对路径(一般为:’/usr/python/lib’),添加至conf文件中。
切换至/etc/ld.so.conf.d目录下,打开python3.conf文件:
vim /etc/ld.so.conf.d/python3.conf
进入vim,
- 将
/usr/python/lib
作为一行插入; - 【重要】将编译后的python目录lib目录地址,作为一行插入;如:
/root/software/python311/lib
保存退出。
运行ldconfig命令:
[root@centos]# ldconfig
完成。
P.S. linux下的共享库机制采用了类似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边,程序连接的时候首先从这个文件里边查找,然后再到ld.so.conf的路径里边去详细找,这就是为什么修改了conf文件要重新运行一下ldconfig的原因。
参考
1、CSDN - python3: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file
2、StackOverflow - python: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory