Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Cannot import name QtWebKit" message when installing OpenLayers plugin #56

Open
redhumus opened this issue May 4, 2018 · 16 comments
Open

Comments

@redhumus
Copy link

redhumus commented May 4, 2018

Hi,
I'm using a fresh install of Ubuntu Bugie 18.04 on a laptop ASUS X550. I have QGIS 2.18.17 . When I try to install de OpenLayers plugin I receive this error "Cannot import name QtWebKit"

I red different posts, they conclude that the QGIS code doesn't uses anymore the python QtWebKit. Also I red that new versions of QGIS after 2.16 would fix this problem.
CAn you help me?

@rbracket
Copy link

rbracket commented May 7, 2018

I had the same experience. The error log mentioned a required package. It was, if I recall correctly,
python3-pyqt5.qtwebkit

I installed python3-pyqt5.qtwebkit, unistalled the OpenLayers plugin, re-installed.

Success..

Ubuntu, QGIS 3.0.2

@hadmut
Copy link

hadmut commented May 24, 2018

Having the same problem, I cannot reproduce that fix/workaround.

The plugin version qgis downloads requires and uses PyQt4, which is not contained in Ubuntu 18.04 anymore. There's just PyQt5. So I don't see how this could work to install python3-pyqt5.qtwebkit, especially since ubuntu's version of qgis uses /usr/bin/python, which is a symlink to python2.7.

So there's two reasons why python3-pyqt5.qtwebkit doesn't seem to help: The 3 and the 5.

regards

@mone27
Copy link

mone27 commented May 26, 2018

@rbracket I have the same issue maybe you are using qgis3

@rbracket
Copy link

rbracket commented May 26, 2018 via email

@mone27
Copy link

mone27 commented May 31, 2018

Maybe I found the origin of the problem. Since Qt 5.6 QtWebKitWidget has been replaced by QtWebEngineWidget so since Ubuntu 18.04 uses Qt 5.9 it will never work. We should patch openlayers, porting should not be too difficult http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html.
Now I don't have time to do a PR I hope will do it soon.

@aloboa
Copy link

aloboa commented Jul 10, 2018

I have the same problem at installing Openlayers on Debian testing (Buster):
QGIS version | 2.18.20 | QGIS code branch | Release 2.18
Compiled against Qt | 4.8.7 | Running against Qt | 4.8.7
Compiled against GDAL/OGR | 2.3.0 | Running against GDAL/OGR | 2.3.0
Compiled against GEOS | 3.6.2-CAPI-1.10.2 | Running against GEOS | 3.6.2-CAPI-1.10.2 4d2925d6
PostgreSQL Client Version | 10.4 (Debian 10.4-2) | SpatiaLite Version | 4.3.0a
QWT Version | 6.1.3 | PROJ.4 Version | 510
QScintilla2 Version | 2.10.4 |   |  

No workaround?

@RyanThomas
Copy link

RyanThomas commented Sep 6, 2018

Ubuntu 18.04, QGIS 2.18 here. Is there no solution to this? The same error comes from QuickOSM plugin. I am wondering if the solution here would work for my issue as well.:
Couldn't load plugin QuickOSM due to an error when calling its classFactory() method

ImportError: cannot import name QtWebKit
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 333, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "/home/ryan/.qgis2/python/plugins/QuickOSM/init.py", line 27, in classFactory
from quick_osm import QuickOSM
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/ryan/.qgis2/python/plugins/QuickOSM/quick_osm.py", line 34, in
from QuickOSM.ui.main_window_dialog import MainWindowDialog
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/ryan/.qgis2/python/plugins/QuickOSM/ui/main_window_dialog.py", line 28, in
from main_window import Ui_ui_main_window
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/ryan/.qgis2/python/plugins/QuickOSM/ui/main_window.py", line 431, in
from PyQt4 import QtWebKit
ImportError: cannot import name QtWebKit

Python version: 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]
QGIS version: 2.18.17 Las Palmas, exported

Python Path:
/usr/share/qgis/python/plugins/processing
/usr/share/qgis/python
/home/ryan/.qgis2/python
/home/ryan/.qgis2/python/plugins
/usr/share/qgis/python/plugins
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/home/ryan/.local/lib/python2.7/site-packages
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0
/usr/lib/python2.7/dist-packages/wx-3.0-gtk3
/home/ryan/.qgis2//python
.

@climu
Copy link

climu commented Sep 7, 2018

Just want to say I am affected also on ubuntu 18.04 and qgis 2.18.17.

@answerquest
Copy link

workaround tip: QuickMapServices : an alternate plugin that's doing the job of putting baselayers and working on QGIS 2.18.17 on my Lubuntu 18.04 64-bit system. Got the tip on https://gis.stackexchange.com/a/131501/44746

@pka
Copy link
Member

pka commented Sep 17, 2018

The Python bindings of libqtwebkit4 have been removed in Debian Sid and Ubuntu 18.04. QGIS packages from qgis.org now include these Python bindings. So installing python-qgis from qgis.org together with libqtwebkit4 should solve this problem for plugins requiring qtwebkit (LRS, MultiEdit, OpenLayers, qgis2web, QuickOSM, Statist, WFS 2.0 client, WPS client and others).

@VincentLeclercq
Copy link

Despite the installation of libqtwebkit4 , the open layer plugin can't be installed on my pc (ubuntu 18.04)
Even after reset/restart.

How is it possible?

@tvoirand
Copy link

tvoirand commented Feb 5, 2019

Same here, I installed QGIS 2.18.17 from qgis.org on Ubuntu 18.04, and I installed libqtwebkit4. I still can't import PyQt4.QtWebKit and install the OpenLayers plugin.

@TheGrave-zz
Copy link

Ongoing with 2.18.28 on Ubuntu 18.04 and all suggestions above tested.

Workaround for Google Maps (Terrain layer is screwed but the rest is fine):

https://geogeek.xyz/how-to-add-google-maps-layers-in-qgis-3.html

@PierreChaProt
Copy link

Same problem here with QGIS 2.18.17 on Ubuntu 18.04.2 LTS and libqtwebkit4 installed.
Here's what I get:

ImportError: cannot import name QtWebKit

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 333, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "/home/pierre/.qgis2/python/plugins/openlayers_plugin/init.py", line 25, in classFactory
from openlayers_plugin import OpenlayersPlugin
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/pierre/.qgis2/python/plugins/openlayers_plugin/openlayers_plugin.py", line 30, in
from openlayers_overview import OLOverview
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/pierre/.qgis2/python/plugins/openlayers_plugin/openlayers_overview.py", line 23, in
from openlayers_ovwidget import OpenLayersOverviewWidget
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/pierre/.qgis2/python/plugins/openlayers_plugin/openlayers_ovwidget.py", line 38, in
from ui_openlayers_ovwidget import Ui_Form
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 607, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "/home/pierre/.qgis2/python/plugins/openlayers_plugin/ui_openlayers_ovwidget.py", line 80, in
from PyQt4 import QtWebKit
ImportError: cannot import name QtWebKit

@hammedb197
Copy link

anyone found fix for this yet?

@HakunaMarthata
Copy link

Has anyone found a solution or workaround for this Problem? (I cant switch to QGIS 3 because I need a Plugin that's not available for QGIS 3)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests