gdal錯誤:ModuleNotFoundError: No module named '_gdal_array'

又遇到了gdal的常見錯誤:

Traceback (most recent call last):
    ......
  File "/usr/local/lib/python3.6/site-packages/osgeo/gdal.py", line 2759, in ReadAsArray
    from osgeo import gdalnumeric
  File "/usr/local/lib/python3.6/site-packages/osgeo/gdalnumeric.py", line 2, in <module>
    from osgeo.gdal_array import *
  File "/usr/local/lib/python3.6/site-packages/osgeo/gdal_array.py", line 28, in <module>
    _gdal_array = swig_import_helper()
  File "/usr/local/lib/python3.6/site-packages/osgeo/gdal_array.py", line 20, in swig_import_helper
    import _gdal_array
ModuleNotFoundError: No module named '_gdal_array'

原因
系統centos7,gdal版本2.4.4從代碼編譯,python語言綁定是自己編譯的。要注意的是,確保swig/python中make的時候系統中已安裝numpy。

解決方法

  1. 先把osgeo包卸載:pip uninstall osgeo 或 conda remove osgeo (有可能出錯,自己把已安裝文件清理干凈)
  2. 看看numpy沒安裝的話安裝上:pip install numpy
  3. swig/python 中重新編譯安裝:make clean && make && sudo make install

參考
https://stackoverflow.com/questions/45289299/python-3-4-importerror-no-module-named-gdal-arrayno-module-named-gdal-arra

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。