您尚未登录。

#1 2023-11-07 00:23:06

tan9p
会员
注册时间: 2015-07-07
帖子: 111

PySide6在Debian12下无法正常使用,求助报错信息的解释

我用pip 安装了PySide6,在使用时,会出现下面的报错:

from PySide6 import QtCore
ImportError: /home/duck/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6: undefined symbol: _ZN9QMetaType14registerHelperEPKN9QtPrivate18QMetaTypeInterfaceE, version Qt_6

我的理解是debian的QT6环境没有装好,缺少头文件。但是不知道该装什么包。
谢谢!

离线

#2 2023-11-07 09:32:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,701
个人网站

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

你的 PySide6 与你的 Qt6 版本不匹配。推测是你的 Qt6 更新之后,没有重新编译 PySide6 导致的。

离线

#3 2023-11-07 11:38:18

tan9p
会员
注册时间: 2015-07-07
帖子: 111

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

谢谢依云大大。
QT6是用apt装的,装完后用pip安装的PySide6,如何重新编译PySide6呢?

离线

#4 2023-11-07 11:46:20

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,701
个人网站

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

这我就不知道了……

离线

#5 2023-11-07 13:48:16

matrikslee
会员
注册时间: 2017-04-21
帖子: 443
个人网站

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

可以试试

ldd /home/duck/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6

看一下动态链接到哪里去了?或者debian 12有没有system-wide的python-pyside包,也许pip安装的和system 的lib对不上也说不定

离线

#6 2023-11-07 21:09:58

tan9p
会员
注册时间: 2015-07-07
帖子: 111

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

谢谢!
ldd 的结果是正常的.
ldd -r 会显示许多undefined symbol,例如:

undefined symbol: PyTuple_GetItem       (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: PyUnicode_Concat      (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: Py_IsInitialized      (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: _ZN8Shiboken10ObjectType15getTypeUserDataEP11_typeobject     (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: InitSignatureStrings  (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: PyUnicode_AsUTF8String        (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: PyUnicode_FromStringAndSize   (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: _ZN8Shiboken11PyMagicName3docEv       (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: PyDict_Clear  (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: _ZN8Shiboken11PyMagicName4funcEv      (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)
undefined symbol: _ZN8Shiboken6PyName6f_codeEv  (/home/yibo/.local/lib/python3.11/site-packages/PySide6/libpyside6.abi3.so.6.6)

奇怪的是python的报错里的那个undefined symbol 并不在ldd -r 的显示结果里.
debian的包还是python3-pyside2,不知道是不是太低了。
我在网上查到有人报告这个bug,感觉跟我遇到的情况一样。
https://bugreports.qt.io/browse/PYSIDE-1950

离线

#7 2023-11-07 21:28:16

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,701
个人网站

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

Python 的符号找不到是正常的,shiboken 的不确定。

离线

#8 2023-12-28 16:44:36

Loglyz
会员
注册时间: 2023-12-28
帖子: 1

Re: PySide6在Debian12下无法正常使用,求助报错信息的解释

涉及到python的非系统软件,建议用非系统的python,可以自己编译,也可以使用anaconda。
编译安装了新的python后,用新环境创建虚拟环境,在虚拟环境里用pip安装PySide6。
如果要删除,直接删除这个虚拟环境就行。


May the force be with you.

离线

页脚