
Openshot
Ubuntu 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-qt
は Python で書かれており、PyQt5.QtWebKitWidgets
Ubuntu パッケージによって提供されるモジュールが必要ですpython3-pyqt5.qtwebkit
。- によってインストールされたすべての Python モジュール
apt
は にインストールされます/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
削除しましたQtWebKitWidgets
バージョン5.6ディストリビューションに含まれています。Ubuntu は、v5.10 パッケージでカスタム サポートを維持しているようです。- インストールされているバージョンは
/usr/local/lib/python3.6/dist-packages
>= v5.6 のようです
- インストールされているバージョンは
つまり、問題は、PyQt5
必要なモジュールがない の新しいバージョンがインストールされており、それが基本的に、必要なモジュールを含む Ubuntu のバージョンを上書きしていることです。解決策は、新しいバージョンを削除して、システムが Ubuntu 提供のバージョンを使用するようにすることです。これを行うには、 を実行しますsudo pip3 uninstall pyqt5
。その後、ディレクトリ/usr/local/lib/python3.6/dist-packages/PyQt5
がなくなったことを確認します。
apt で制御されていないプログラムが実際には の新しいバージョンを必要とする可能性もありますPyQt5
が、このような状況では virtualenv が役立ちます。