Linux下执行python报错:error while loading shared libraries: libpython2.7.so.1.0的解决方法

一台服务器上安装了多个python,配置不当可能会导致python运行时找不到某些系统库,比如今天遇到的在执行python命令时报:

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

找不到libpython2.7.so.1.0这个库。我们可以使用ldd命令来查看一个可执行文件执行时需要哪些系统库:

# ldd python
linux-vdso.so.1 =>  (0x00007ffff)
libpython2.7.so.1.0 => Not Found
...

显示确实找不到这个库。我们再使用locate命令来定位这个文件是在哪个目录,然后把路径加到/etc/ld.so.conf中就可以了。首先看下这个文件在哪:

[root@testlm01v ~]# locate libpython2.7.so.1.0
/usr/local/Python-2.7.11/libpython2.7.so.1.0
/usr/local/lib/libpython2.7.so.1.0

于是我们选择其中一个,就使用/usr/local/lib
接着,查看/etc/ld.so.conf文件,该文件使用include命令将/etc/ld.so.conf.d目录下的conf后缀的文件全部引入,所以我们也在这个目录新建一个python.conf,写入/usr/local/lib,该文件内容如下:

[root@testlm01v /etc/ld.so.conf.d]# cat python.conf 
/usr/local/lib

然后执行ldconfig命令就好了。再次执行ldd命令,发现已经可以找到缺失的文件了。所以,我们可以通过这种方式来解决当某个命令缺少库文件时怎样正确加入的问题。

标签: python

三剑客-一站式接口测试与管理平台:sanjianke.tech

转载声明:除非特别声明,本博客文章均属原创,转载请注明出处,谢谢!

PS:本博采用老薛主机托管,欢迎购买老薛主机并使用推荐码:yanyaozhen,初次购买享受25%折扣。