使用源代码的方式安装Python2.7之后,在import某些库时抛出了如下异常:

ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory


一 原因分析

    由于在系统的lib路径中找不到这个共享库。

注: 如果编译时加上了--enable-shared,才会编译这个共享库,默认的位置是python可执行程序所在目录的lib目录下,如/usr/local/python27


二 解决方法

  1. 可以使用如下方式编译Python以解决这个问题:

    ./configure --enable-shared --prefix=/usr/local/python27

    make && make install


  2. cp /usr/local/python27/lib/libpython2.7.so.1.0 /usr/local/lib

     cd /usr/local/lib

     ln -s libpython2.7.so.1.0 libpython2.7.so


  3. 使用命令whereis libpython2.7.so.1.0得到如下结果就说明

    libpython2.7.so.1: /usr/local/lib/libpython2.7.so.1.0


  4. 如果whereis没有结果,或者还有import错误,可以尝试如下操作:

    在/etc/ld.so.conf中加入新行/usr/local/lib

    保存后,运行

    /sbin/ldconfig

    /sbin/ldconfig –v