ImportError: Tidak ada modul bernama 'PyQt5.QtWebEngineWidgets'

11

Saya mencoba menjalankan skrip python menggunakan PyQt5 QtWebEngineWidgets tetapi ada kesalahan:

  from PyQt5.QtWebEngineWidgets import (
ImportError: No module named 'PyQt5.QtWebEngineWidgets'

Saya pikir ada paket yang hilang tetapi yang mana? python3-pyqt5.qtwebkitdiinstal.

Bagaimana cara kerjanya?

Michael
sumber

Jawaban:

5

Saya tidak 100% yakin bahwa ini membahas pesan kesalahan OP, tetapi setidaknya untuk Ubuntu 17.04 saya telah berhasil menjalankan:

apt-get install python3-pyqt5.qtwebengine

Ini membawa banyak dependensi, termasuk libqt5webenginecore5, libqt5webenginewidgets5, python3-pyqt5.qtwebchanneldan python3-pyqt5.qtwebengine.

Saya tidak tahu bagaimana ini berhubungan dengan jawaban @The Compiler tentang QtWebEngine tidak sedang dikemas untuk Ubuntu, tetapi itu bekerja untuk saya tanpa kompilasi Qt / PyQt.

JonBrave
sumber
Ini memecahkan masalah saya menggunakan Anki flashcard pada Debian
zhazha
Saya telah menandai 16,04 sehingga bukan jawaban yang tepat tetapi baik untuk diketahui, ini tersedia dalam rilis LTS saat ini (18,04 memang memilikinya juga).
Michael
4

Script membutuhkan QtWebEngine, bukan QtWebKit.

Sayangnya, itu tidak dipaket untuk Debian / Ubuntu , jadi satu-satunya cara Anda menjalankannya adalah dengan mengkompilasi Qt dan PyQt sendiri (yang bisa sedikit menyebalkan).

Kompiler
sumber
Saya pikir juga begitu ... :(
Michael
Bagaimana dengan untuk Windows?
Jonathan
4

Saya menginstal python3-pyqt5.qtmultimedia

sudo apt install python3-pyqt5.qtmultimedia

di Xenial (karena python3-pyqt5.qtwebenginetidak ditemukan, jadi saya mencari semua pola yang cocok python3-pyqt5dan apt-cache searchmenemukan yang ini antara lain yang tampaknya relevan bagi saya.

Sekarang saya bisa menggunakan ffmpegconverterlagi! (Yang kecil yang melakukan hal-hal besar, yang saya susun dengan tangan).

pengguna292507
sumber
Tapi apa hubungannya ini dengan pertanyaan saya?
Michael
3

Jika Anda sampai di sini dan menggunakan pip - Saya belum menginvestigasi sepenuhnya tetapi saya baru saja melakukan ini ketika menjalankan Anki sejak pemutakhiran di pip ke PyQT5 5.12. Ukuran paket untuk 5.11.3 dan 5.12 sangat berbeda - 5.11.3 berbobot pada 118MB dan 5.12 pada "hanya" 61MB. Memaksa pemasangan 5.11.3 menghapus masalah. Saya menduga ini tidak lagi dibundel dalam PyQT5 di pip, dan perlu diinstal sebagai persyaratan terpisah.

Ada dalam catatan rilis , mereka memindahkan widget webengine ke paket yang berbeda. Lari saja:

pip install PyQtWebEngine
mlaventure
sumber
3

Saya memiliki masalah yang sama, ketika mencoba menjalankan Spyder untuk pertama kalinya. Saya menggunakan distribusi Miniconda di Mac. Saya harus menginstal keduanya sehingga saya bisa makan siang Spyder

pip install PyQtWebEngine
pip install PyQt5

Saya harap ini membantu.

Kareem Jeiroudi
sumber
2

Jika Anda sampai di sini dan menggunakan pip - Saya belum menginvestigasi sepenuhnya tetapi saya baru saja melakukan ini ketika menjalankan Anki sejak pemutakhiran di pip ke PyQT5 5.12. Ukuran paket untuk 5.11.3 dan 5.12 sangat berbeda - 5.11.3 berbobot pada 118MB dan 5.12 pada "hanya" 61MB. Memaksa pemasangan 5.11.3 menghapus masalah. Saya menduga ini tidak lagi dibundel dalam PyQT5 di pip, dan perlu diinstal sebagai persyaratan terpisah.

pip uninstall PyQt5
pip install PyQt5==5.11.3

(Persyaratan.txt Anki sekarang telah diperbarui, jadi menarik yang terbaru dari Github sekarang akan berfungsi)

Anton dari kayu
sumber
Bisakah Anda memperluas jawaban dan menunjukkan perintah yang diperlukan untuk melakukan ini?
Kristopher Ives
Selesai, maaf butuh waktu lama
AntonOfTheWoods
0

Jika Anda menggunakan Windows 10 menjalankan Python 3.8.0 versi 64-bit, saya menemukan ini berfungsi:

pip uninstall PyQt5
pip uninstall PyQtWebEngine
pip install PyQt5==5.13
pip install PyQtWebEgine

Sekarang kode Anda tidak akan mengeluh tentang kesalahan impor QtWebEngineWidgets.

Selamat menikmati
sumber