我试图在CentOS 6上创建一个包含PySide的Python 2.7安装。我根据these指令编译了一个wheel包,并且没有错误地安装它。
但是,当我尝试运行postinstall脚本时出现此错误:
/opt/python/lib/python2.7/site-packages/PySide/libpyside-python2.7.so.1.1: undefined symbol: _ZN9QMetaType15registerTypedefEPKci
我从PySide导入QtCore""得到了同样的错误。在IPython中。
这些是我用来构建和安装的命令:
/opt/python/bin/python setup.py bdist_wheel --qmake=/opt/python/lib/qt4/bin/qmake
cp dist/PySide-1.2.2-cp27-none-linux-x86_64.whl /opt/python/src
cd /opt/python
bin/pip ../src/PySide-1.2.2-cp27-none-linux-x86_64.whl
bin/python bin/pyside_postinstall.py -install
更新:我能够通过将LD_LIBRARY_PATH设置为包含/ opt / python / lib / qt4来解决此问题。我假设这会通过在编译时设置qmake路径而内置到PySide中。
有没有办法做到这一点,没有设置LD_LIBRARY_PATH?
答案 0 :(得分:0)
将Qt configure命令更改为:
./configure -debug -rpath -prefix '/opt/python/lib/qt4' | tee config.log
使用-rpath使得使用自定义qmake构建的所有内容都将Qt库路径硬编码到其中。