[GIS] NameError: name ‘QMessageBox’ is not defined

csvnameerrorpyqt5pythonqgis

When I'm loading a CSV into QGIS, I get this error code, see below.

Does anyone know what this means?

This also is an issue when I attempt to run NNJoin Plugin too.

An error has occurred while executing Python code: 
  NameError: name 'QMessageBox' is not defined
  Traceback (most recent call last):  
    File "/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/NNJoin/NNJoin_gui.py", 
      line 367, in layerlistchanged
      QMessageBox.information(None, NameError: name 'QMessageBox' is not defined
    
Python version: 3.7.7 (default, Sep 22 2020, 10:25:18) [Clang 12.0.0 (clang-1200.0.32.2)]
QGIS version: 3.16.1-Hannover Hannover, 3ecbe06f78 

Python Path:
/Applications/QGIS.app/Contents/MacOS/../Resources/python 
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python 
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins 
/Applications/QGIS.app/Contents/MacOS/../Resources/python/plugins 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/Rtree-0.9.4-py3.7.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/cftime-1.2.1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/snuggs-1.4.7-py3.7.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/Pillow-7.2.0-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/lib-dynload 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/rasterio-1.1.5-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/matplotlib-3.3.0-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/netCDF4-1.5.3-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python37.zip 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/affine-2.3.0-py3.7.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/patsy-0.5.1-py3.7.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/scipy-1.5.1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/numba-0.50.1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/geopandas-0.8.1-py3.7.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/pandas-1.1.0-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/Fiona-1.8.13.post1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/statsmodels-0.11.1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/opencv_contrib_python-4.3.0.36-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/click_plugins-1.1.1-py3.7.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/numpy-1.19.1-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/GDAL-3.1.2-py3.7-macosx-10.13.0-x86_64.egg 
/Applications/QGIS.app/Contents/MacOS/lib/python3.7/site-packages/pyproj-2.6.0-py3.7-macosx-10.13.0-x86_64.egg
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python 
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DigitizingTools/tools 
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DigitizingTools 
/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/mmqgis/forms 
/Users/joanlee/Camphora/15. ITTC/Maps

Best Answer

This is a bug in NNJoin plugin.

  • Open NNJoin_gui.py file located in "/Users/joanlee/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/NNJoin/" using an editor.

  • Add from qgis.PyQt.QtWidgets import QMessageBox line to imports section.

  • Then save the file and (you may need to) restart QGIS.