Ubuntu 18.04에서 Openshot이 열리지 않습니다. PyQt5.QtWebKitWidgets라는 모듈이 없습니다.

Ubuntu 18.04에서 Openshot이 열리지 않습니다. PyQt5.QtWebKitWidgets라는 모듈이 없습니다.

OpenshotUbuntu 18.04 LTS에 설치했습니다 .

sudo apt-get install openshot-qt

그리고 터미널에서 열려고 하면 openshot-qt오류와 함께 실패합니다.

Traceback (most recent call last):
  File "/usr/bin/openshot-qt", line 11, in <module>
    load_entry_point('openshot-qt==2.5.1.dev2', 'gui_scripts', 'openshot-qt')()
  File "/usr/lib/python3/dist-packages/openshot_qt/launch.py", line 97, in main
    app = OpenShotApp(argv)
  File "/usr/lib/python3/dist-packages/openshot_qt/classes/app.py", line 220, in __init__
    from windows.main_window import MainWindow
  File "/usr/lib/python3/dist-packages/openshot_qt/windows/main_window.py", line 45, in <module>
    from windows.views.timeline_webview import TimelineWebView
  File "/usr/lib/python3/dist-packages/openshot_qt/windows/views/timeline_webview.py", line 42, in <module>
    from PyQt5.QtWebKitWidgets import QWebView
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

나는 sudo apt-get install python3-pyqt5.qtwebengine이것에 따라 노력했다질문. 그러나 openshot을 열면 동일한 오류가 발생하지만 about 명령은 다음을 제공합니다.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-pyqt5.qtwebengine is already the newest version (5.10.1+dfsg-1ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.

누군가 해결책을 제시해 주실 수 있나요?

편집하다:

출력 apt-cache policy python3-pyqt5.qtwebkit:

python3-pyqt5.qtwebkit:
  Installed: 5.10.1+dfsg-1ubuntu2
  Candidate: 5.10.1+dfsg-1ubuntu2
  Version table:
 *** 5.10.1+dfsg-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

출력 ls -l /usr/lib/python3/dist-packages/PyQt5/:

-rw-r--r-- 1 root root     826 Feb 27  2018 __init__.py
drwxr-xr-x 2 root root    4096 Sep 15  2019 __pycache__
-rw-r--r-- 1 root root  237384 Apr 23  2018 _QOpenGLFunctions_2_0.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  241624 Apr 23  2018 _QOpenGLFunctions_2_1.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  122296 Apr 23  2018 _QOpenGLFunctions_4_1_Core.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root 2955992 Apr 23  2018 QtCore.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  370919 Apr 23  2018 QtCore.pyi
-rw-r--r-- 1 root root    6120 Apr 23  2018 Qt.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  212696 Apr 23  2018 QtDBus.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   22776 Apr 23  2018 QtDBus.pyi
-rw-r--r-- 1 root root  332392 Apr 23  2018 QtDesigner.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   22328 Apr 23  2018 QtDesigner.pyi
-rw-r--r-- 1 root root 3287320 Apr 23  2018 QtGui.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  382629 Apr 23  2018 QtGui.pyi
-rw-r--r-- 1 root root  157560 Apr 23  2018 QtHelp.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    9226 Apr 23  2018 QtHelp.pyi
-rw-r--r-- 1 root root  698304 Apr 23  2018 QtMultimedia.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   83508 Apr 23  2018 QtMultimedia.pyi
-rw-r--r-- 1 root root  102848 Apr 23  2018 QtMultimediaWidgets.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    4571 Apr 23  2018 QtMultimediaWidgets.pyi
-rw-r--r-- 1 root root  859448 Apr 23  2018 QtNetwork.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   94874 Apr 23  2018 QtNetwork.pyi
-rw-r--r-- 1 root root  143192 Apr 23  2018 QtOpenGL.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   15653 Apr 23  2018 QtOpenGL.pyi
-rw-r--r-- 1 root root  239720 Apr 23  2018 QtPrintSupport.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   19835 Apr 23  2018 QtPrintSupport.pyi
-rw-r--r-- 1 root root  104528 Apr 23  2018 QtSvg.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    5909 Apr 23  2018 QtSvg.pyi
-rw-r--r-- 1 root root  103104 Apr 23  2018 QtTest.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   10827 Apr 23  2018 QtTest.pyi
-rw-r--r-- 1 root root   33920 Apr 23  2018 QtWebChannel.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    2480 Apr 23  2018 QtWebChannel.pyi
-rw-r--r-- 1 root root   67992 Apr 23  2018 QtWebEngineCore.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    7141 Apr 23  2018 QtWebEngineCore.pyi
-rw-r--r-- 1 root root   54304 Apr 23  2018 QtWebEngine.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root    6582 Apr 23  2018 QtWebEngine.pyi
-rw-r--r-- 1 root root  239800 Apr 23  2018 QtWebEngineWidgets.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   32973 Apr 23  2018 QtWebEngineWidgets.pyi
-rw-r--r-- 1 root root  170264 Apr 23  2018 QtWebKit.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   18340 Apr 23  2018 QtWebKit.pyi
-rw-r--r-- 1 root root  317720 Apr 23  2018 QtWebKitWidgets.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   32123 Apr 23  2018 QtWebKitWidgets.pyi
-rw-r--r-- 1 root root 5498280 Apr 23  2018 QtWidgets.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root  500483 Apr 23  2018 QtWidgets.pyi
-rw-r--r-- 1 root root  315744 Apr 23  2018 QtXml.cpython-36m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root   27507 Apr 23  2018 QtXml.pyi
drwxr-xr-x 7 root root    4096 Sep 15  2019 uic

출력 python3 -c "import PyQt5.QtWebKitWidgets":

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

답변1

솔루션이 직관적이지 않은 것처럼 보이기 때문에 여기서 무슨 일이 일어나고 있는지 이해하는 것이 좋습니다.

  • openshot-qtPython으로 작성되었으며 PyQt5.QtWebKitWidgetsUbuntu 패키지에서 제공하는 모듈이 필요합니다 python3-pyqt5.qtwebkit.
  • apt에 의해 설치된 모든 Python 모듈은 /usr/lib/python3/dist-packages.
  • Python 패키지 관리 도구(예: pip)로 설치된 모든 Python 모듈은 에 설치됩니다 /usr/local/lib/python3.6/dist-packages. 이 규칙에는 다음을 사용할 때와 같은 예외가 있습니다.가상 환경하지만 여기서는 해당되지 않습니다.
  • 패키지가 /usr/local/lib/python3.6/dist-packages및 에 모두 존재하는 경우 /usr/lib/python3/dist-packages의 버전이 /usr/local/lib/python3.6/dist-packages우선 적용됩니다( 에서 설치한 버전 pip).
  • 이것은 중요 합니다 PyQt5.QtWebKitWidgetsv5.6그들의 배포에서. Ubuntu는 v5.10 패키지에서 이에 대한 사용자 정의 지원을 유지한 것으로 보입니다.
    • 설치된 버전은 /usr/local/lib/python3.6/dist-packagesv5.6 이상인 것 같습니다.

따라서 문제는 PyQt5필요한 모듈이 없는 Ubuntu 버전을 본질적으로 재정의하는 최신 버전이 설치되어 있다는 것입니다. 그런 다음 해결책은 최신 버전을 제거하여 시스템이 Ubuntu 제공 버전을 사용하도록 하는 것입니다. 를 실행하여 이 작업을 수행할 수 있습니다 sudo pip3 uninstall pyqt5. 그런 다음 디렉터리 /usr/local/lib/python3.6/dist-packages/PyQt5가 사라졌는지 확인합니다.

적절하지 않게 제어되는 일부 프로그램에 실제로 최신 버전이 필요할 가능성이 있지만 PyQt5이러한 종류의 상황이 virtualenv의 목적입니다.

관련 정보