QGIS 3.28.8中GIS4WRF插件加载失败:缺失netCDF4模块
QGIS 3.28.8中GIS4WRF插件加载失败问题
背景
我在Ubuntu系统上通过以下步骤成功编译安装了QGIS 3.28.8,但加载GIS4WRF插件时失败。原本期望该插件能像在MacOS和Windows系统中一样自动下载并安装所有必要依赖。
QGIS安装步骤
QGIS ##################################### #QGIS (Quantum Geographic Information System) is a free and open-source platform that allows users to #analyze, view, and edit geospatial data. It supports both vector and raster layers, as well as various #web services, and is extensible through community-developed plugins. Key features include map #creation, spatial analysis, and data management. ############################################################################# echo $PASSWD | sudo -S sudo apt install bison build-essential ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex flip gdal-bin git graphviz grass-dev libexiv2-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpdal-dev libpq-dev libproj-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pandoc pdal pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dev python3-gdal python3-jinja2 python3-lxml python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtpositioning python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-sip python3-sip-dev python3-termcolor python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5keychain-dev qtbase5-dev qtbase5-private-dev qtmultimedia5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb -y echo $PASSWD | sudo -S apt install gnupg software-properties-common echo "Types: deb deb-src URIs: https://qgis.org/ubuntu-ltr Suites: jammy Architectures: amd64 Components: main Signed-By: /etc/apt/keyrings/qgis-archive-keyring.gpg" | sudo tee /etc/apt/sources.list.d/qgis.sources echo $PASSWD | sudo -S sudo apt update echo $PASSWD | sudo -S sudo apt install qgis python-qgis python3-qgis qgis-plugin-grass -y echo $PASSWD | sudo -S sudo apt remove gdal-bin -y echo $PASSWD | sudo -S sudo rm -f /var/lib/dpkg/info/qgis-providers echo $PASSWD | sudo -S sudo apt install qgis -y echo $PASSWD | sudo -S sudo apt update -y echo $PASSWD | sudo -S sudo apt upgrade -y
插件加载错误信息
下载并加载GIS4WRF插件时,出现以下错误:
Couldn't load plugin 'gis4wrf' due to an error when calling its classFactory() method ModuleNotFoundError: No module named 'netCDF4' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/qgis/utils.py", line 423, in _startPlugin plugins[packageName] = package.classFactory(iface) File "/home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gis4wrf/__init__.py", line 24, in classFactory from gis4wrf.plugin.plugin import QGISPlugin File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gis4wrf/plugin/plugin.py", line 17, in from gis4wrf.core import ( File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gis4wrf/core/__init__.py", line 16, in from gis4wrf.core.readers.wrf_netcdf_metadata import * File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "/home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gis4wrf/core/readers/wrf_netcdf_metadata.py", line 7, in import netCDF4 as nc File "/usr/lib/python3/dist-packages/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'netCDF4' Python version: 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] QGIS version: 3.28.8-Firenze Firenze, 5ac45272b5 Python Path: /usr/share/qgis/python /home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python /home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python/plugins /usr/share/qgis/python/plugins /usr/lib/python310.zip /usr/lib/python3.10 /usr/lib/python3.10/lib-dynload /home/workhorse/.local/lib/python3.10/site-packages /usr/local/lib/python3.10/dist-packages /usr/lib/python3/dist-packages /home/workhorse/.local/share/QGIS/QGIS3/profiles/default/python /home/workhorse/.local/share/gis4wrf/python310/local/lib/python3.10/site-packages /home/workhorse/.local/share/gis4wrf/python310/lib/python3/site-packages /home/workhorse/.local/share/gis4wrf/python310/lib/python3.10/site-packages
解决方法
Linux系统下GIS4WRF插件不会自动安装依赖,需手动安装缺失的netCDF4模块,确保使用QGIS对应的Python解释器执行安装:
- 方法一:通过系统包管理器安装
sudo apt install python3-netcdf4
- 方法二:使用pip安装(需匹配QGIS关联的Python环境)
python3 -m pip install netCDF4
若不确定QGIS使用的Python路径,可在QGIS的Python控制台执行以下命令查看:
import sys print(sys.executable)
再用该路径对应的pip安装,示例:
/usr/bin/python3 -m pip install netCDF4
内容的提问来源于stack exchange,提问作者Will H.
相关产品推荐
相关产品推荐

