pybind库发生了变化。因此,文件在导入时链接到当前python进程
我在系统上安装了python 5.9 我的python虚拟环境有PyQt5(v5.15) 我已经生成了pybind.so文件,名为pybind库发生了变化。因此,文件在导入时链接到当前python进程,python,ubuntu,linker,pyqt5,pybind11,Python,Ubuntu,Linker,Pyqt5,Pybind11,我在系统上安装了python 5.9 我的python虚拟环境有PyQt5(v5.15) 我已经生成了pybind.so文件,名为core\u template,它依赖于libQt5xxx.so 这个问题可以概括如下 >>> import PyQt5 >>> PyQt5 <module 'PyQt5' from '/home/user/.virtualenvs/nova-dev/lib/python3.6/site-packages/PyQt5/__in
core\u template
,它依赖于libQt5xxx.so
这个问题可以概括如下
>>> import PyQt5
>>> PyQt5
<module 'PyQt5' from '/home/user/.virtualenvs/nova-dev/lib/python3.6/site-packages/PyQt5/__init__.py'>
>>> import core_template
>>> from PyQt5 import QtCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /home/user/.virtualenvs/nova-dev/lib/python3.6/site-packages/PyQt5/QtCore.abi3.so)
导入PyQt5
>>>PyQt5
>>>导入核心模板
>>>从PyQt5导入QtCore
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
导入错误:/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:找不到版本'Qt_5.15'(由/home/user/.virtualenvs/nova dev/lib/python3.6/site packages/PyQt5/QtCore.abi3.so所需)
一旦我导入pybind库,就不正确了。所以文件链接到python导致了问题
有人知道如何解决这个问题吗?
除了将路径硬编码到
LD_LIBRARY_path
?在import core\u模板之前从PyQt5导入QtCore
移动,import PyQt5
行实际上没有任何作用,因为它只是一个空的名称空间模块。因此我知道这可以通过按特定顺序导入内容来解决。我想问的是,为什么/python3.6/site packages/PyQt5/QtCore.abi3.so
在寻找/usr/lib/x86\u 64-linux-gnu/libQt5Core.so.5
,即使它在同一文件夹下有一个