timxx / pywpsrpc

Python bindings for WPS Office RPC (for Linux)
MIT License
219 stars 44 forks source link

ImportError: /lib/x86_64-linux-gnu/libQt5Network.so.5 #57

Closed caocb closed 1 year ago

caocb commented 1 year ago

报错位置: from pywpsrpc.rpcwpsapi import (createWpsRpcInstance, wpsapi) 报错信息: ImportError: /lib/x86_64-linux-gnu/libQt5Network.so.5: symbol _ZN15QIPAddressUtils8toStringER7QStringPh version Qt_5 not defined in file libQt5Core.so.5 with link time reference

比较奇怪的是,我只有在安装了pyqt5的环境中才会出现这个问题,其他环境使用正常。请问我该怎么解决?

caocb commented 1 year ago

经过测试,我发现是在安装了pyqt5的环境中,只要同时import了pyqt5和pywpsrpc.rpcwpsapi,就会报这个错;但是只import pywpsrpc.rpcwpsapi的话,程序一切正常。是pyqt5和pywpsrpc之间有什么关联吗?

12893822294 commented 1 year ago

我装了QT5,也是报这个错,那是不是我把QT卸载了或者把QT的环境变量删了就可以了

caocb commented 1 year ago

我又试了在一个新conda环境中,只安装pyqt5和pywpsrpc,仍然是只要同时引入pyqt5和pywpsrpc.rpcwpsapi,就会报错,单独引入则正常(py文件中只有import,没写任何其他代码)。 接着又测试只安装pyside2和pywpsrpc,也是同样的问题。 说明pyqt5或pyside2中的QT库,与pywpsrpc之间存在某种冲突,但我不知道该如何解决。

timxx commented 1 year ago

这是unix的通病吧,odr问题,不兼容的不同版本so不能加载到一起,因为wps提供的sdk本身依赖qt5,你可以自己编译一个pywpsrpc看看,用相同版本的qt