又遇到了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。
解決方法
- 先把osgeo包卸載:pip uninstall osgeo 或 conda remove osgeo (有可能出錯,自己把已安裝文件清理干凈)
- 看看numpy沒安裝的話安裝上:pip install numpy
- swig/python 中重新編譯安裝:make clean && make && sudo make install