python - Ubuntu 13.04 上的 PySide 导入错误

标签 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)

最佳答案

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身份运行ldconfig

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

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

关于python - Ubuntu 13.04 上的 PySide 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369516/

相关文章:

python - 在包含数百张图像的数据集中比较和绘制相同颜色的区域

python - 在 python 中迭代所有先前的值

python - 在傅立叶空间中创建网格

c++ - 如何在 Qt 中保存 3DSurface?

macos - 将 IntelliJ 与 X11 转发结合使用

python - beautifulsoup .select 不返回任何内容

python - Pytest 不收集静态方法

python - 我在 PySide 1.1.0 中找不到 QString

c++ - 在 C++ main() 执行之前处理 Mac OS X 文件打开事件

ubuntu - neo4j 和 max 打开文件