gpt4 book ai didi

Python 未从 PyPi 包中找到库(因此,dll)

转载 作者:行者123 更新时间:2023-12-01 04:24:25 27 4
gpt4 key购买 nike

我正在使用 PyQt5 库并尝试使用 pylupdate:
from PyQt5.pylupdate_main import main
这给了我错误:

ImportError: libQt5Xml.so.5: cannot open shared object file: No such file or directory



而文件位于 /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/
我可以通过以下方式修复:
LD_LIBRARY_PATH=/usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/:$LD_LIBRARY_PATH python -c "from PyQt5.pylupdate_main import main"
它曾经在不添加路径的情况下工作。
如何才能做到这一点?这是要在车轮上修理的东西吗?

这可以使用 Docker 轻松重现:
FROM python:3.7
RUN pip install PyQt5
RUN echo $(ls /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Xml.so.5)
RUN ldd /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Xml.so.5
RUN python -c "from PyQt5.pylupdate_main import main"
ldd /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Xml.so.5 的输出这些是:
 ---> Running in 6c4c1fbe5de2
linux-vdso.so.1 (0x00007ffecb7d5000)
libQt5Core.so.5 => /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 (0x00007fbc76abe000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbc76a94000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbc76910000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbc7678d000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbc76773000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbc765b2000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbc76392000)
libicui18n.so.56 => /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libicui18n.so.56 (0x00007fbc75ef9000)
libicuuc.so.56 => /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libicuuc.so.56 (0x00007fbc75b41000)
libicudata.so.56 => /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/libicudata.so.56 (0x00007fbc7415e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbc74159000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fbc74154000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fbc74033000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbc774d1000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fbc73fbf000)

最佳答案

这似乎是pypi(5.14.0)上当前版本的PyQt5中的一个错误,它没有正确设置一些链接或路径。

您可以通过手动安装 libqt5xml5 来解决此问题。 ,例如通过修改您的 Dockerfile像这样

FROM python:3.7
RUN pip install PyQt5
RUN apt update && apt install -y libqt5xml5
RUN python -c "from PyQt5.pylupdate_main import main"

作为解决方法,您可以使用似乎没有此问题的先前版本 (5.13.2)。
FROM python:3.7
RUN pip install -I PyQt5==5.13.2
RUN python -c "from PyQt5.pylupdate_main import main"

关于Python 未从 PyPi 包中找到库(因此,dll),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com