Ubuntu 13.04上的PySide导入错误

时间:2013-08-21 23:53:41

标签: python qt ubuntu pyqt pyside

尝试导入时

from PySide import QtGui

我收到以下错误:

ImportError:libpyside-python2.7.so.1.2:无法打开共享对象文件:没有这样的文件或目录

  

LS   /usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2

     

/usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2

所以so文件到位了,为什么PySide找不到它? 我试图通过pip安装PySide但是遇到了某种后处理脚本错误并通过synaptic安装了包。

其他信息:

ldd /usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2
        linux-vdso.so.1 =>  (0x00007ffffd34e000)
        libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007fdd5a6ae000)
        libshiboken-python2.7.so.1.2 => not found
        libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fdd5a1d6000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdd59ed3000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdd59cbd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdd598f4000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdd596dd000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdd594c0000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdd592bb000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fdd590b8000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdd58db3000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fdd58ab6000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdd588ae000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdd5ae32000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fdd5866e000)

2 个答案:

答案 0 :(得分:18)

ldd的输出表明无法找到libshiboken-python2.7.so.1.2

发现它的

/usr/local/lib/python2.7/dist-packages/PySide通常不是动态链接器寻找它的目录。

在这种情况下有几种选择:

  • 将目录添加到动态链接器检查的目录中。

    为此,您可以创建配置文件,例如/etc/ld.so.conf.d/pyside.conf内容:

    /usr/local/lib/python2.7/dist-packages/PySide
    

    然后以root run ldconfig

  • 将库复制或符号链接到动态链接器已检查的目录,如/usr/local/lib(并以root身份运行ldconfig

  • 设置LD_LIBRARY_PATH=/usr/local/lib/python2.7/dist-packages/PySide(未推荐)

答案 1 :(得分:1)

如果您已使用pyside-setup从源代码构建,请运行

sudo python pyside_postinstall.py -install