python3.9.6安裝GDAL No such file or directory: 'gdal-config”錯(cuò)誤

一、問題背景

? ? ? ?由于需要用python打包一個(gè)django工程發(fā)布的k8s集群,當(dāng)我用python官方鏡像3.9.6版本進(jìn)行構(gòu)建鏡像進(jìn)行打包時(shí),再進(jìn)行pip install gdal包安裝時(shí),發(fā)生了gdal-config找不到的情況。

二、問題解決

? ? ? ? 經(jīng)過百度,也沒找到太easy的解決方案。經(jīng)過各種資料信息搜尋,問題點(diǎn)在于python:3.9.6的基礎(chǔ)系統(tǒng)用的是deban10(buster),里面并沒有安裝gdal-config,通過官網(wǎng)發(fā)現(xiàn)gdal已經(jīng)推出了stable 版本 gdal3.2.2版本了,如下所示:

?

但是該版本支持的是deban11(bullseye),所以只要使用bullseye的系統(tǒng)版本,通過apt進(jìn)行安裝應(yīng)該就能解決gdal的安裝問題,找下python官網(wǎng)鏡像,是否可以有bullseye的版本,果然

先驗(yàn)證下,docker run 起來python:3.9.6-bullsye鏡像后,查看/etc/apt/sources.list

nice, 然后通過apt命令進(jìn)行g(shù)dal3.2.2的安裝

apt-get update && apt-get install -y gdal-bin libgdal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*

經(jīng)過漫長(zhǎng)但又不太長(zhǎng)(1-2min)的等待,安裝完畢,然后驗(yàn)證下gdal-config是否已經(jīng)存在

輸入命令gdap-config --version,輸出如下:

通過pip list 查看,GDAL:3.2.2已經(jīng)安裝成功。

######################書接上回#########################

三、新問題ModuleNotFoundError: No module named '_gdal_array'

在上面安裝好gdal之后,程序運(yùn)行過程中拋出了一個(gè)錯(cuò)誤“ModuleNotFoundError: No module named '_gdal_array'”

導(dǎo)致這個(gè)問題的原因,是因?yàn)闆]有先安裝numpy

解決方案如下:

1、先卸載gdal

pip uninstall gdal

2、安裝numpy

pip install numpy

3、再安裝gdal

pip install gdal==$(gdal-config --version) --global-option=build_ext --global-option="-I/usr/include/gdal"

4、驗(yàn)證

找到python安裝lib下的osgeo,打印下

ls?/usr/local/lib/python3.9/site-packages/osgeo/ #修改成自己的

如果有_gdal_array的.so文件才沒問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容