ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

osgeo安装失败根源解析:GDAL依赖、编译与环境适配全指南

osgeo安装失败根源解析:GDAL依赖、编译与环境适配全指南 1. 为什么osgeo安装失败不是Python的问题而是地学计算的“入场券”被卡住了你刚打开Jupyter Notebook准备读取一个GeoTIFF影像做坡度分析却在import osgeo.gdal时看到满屏红色报错——ModuleNotFoundError、ImportError、DLL load failed、undefined symbol、command gcc failed with exit status 1……这些错误像一堵墙把刚入门的地信开发者、遥感初学者、GIS转行的Python爱好者全挡在门外。这不是代码写错了也不是环境配歪了而是你手里的Python还没拿到进入地学计算世界的那张“入场券”。osgeo不是一个普通库。它背后是GDALGeospatial Data Abstraction Library——全球地学数据处理的事实标准是QGIS、ArcGIS、Google Earth Engine底层共用的“地学引擎”。它不只读个shp或tiff它要编译C/C核心、链接Fortran数学库、调用PROJ坐标系引擎、对接NetCDF/HDF5科学格式、甚至嵌入SQLite空间扩展。当你执行pip install osgeo实际是在启动一场跨语言、跨平台、跨依赖链的精密协同作战。而绝大多数失败根本不是你不会写Python而是你没意识到osgeo安装失败本质是地学计算生态与通用Python生态之间的一次系统级摩擦。我从2014年开始用Python做遥感影像批处理经历过Windows上VC版本错配导致gdal.dll找不到、Ubuntu里proj-dev包缺失引发编译中断、Mac M1芯片下hdf5架构不兼容、conda环境里gdal与rasterio版本冲突……每一次重装都像重新考一次驾照——不是不会开车而是车钥匙和点火系统根本不匹配。后来我才明白osgeo不是pip install就能解决的“库”它是一套需要手动校准的“地学工具箱”。它的安装失败率常年居高不下不是因为开发者懒而是因为地学数据处理本身就有硬门槛它必须同时满足地理坐标精度、栅格计算性能、矢量拓扑一致性这三重严苛约束。普通Python库只要能import就行osgeo必须能精确到小数点后8位的WGS84坐标转换、能每秒读取GB级DEM、能保证多边形叠加不产生拓扑裂缝——这些能力全靠底层C库和编译参数撑着。所以当你搜“osgeo安装失败”真正该问的不是“怎么修这个错”而是“我的系统是否已准备好承载地学计算任务”。清华镜像源能加速下载但解决不了proj库链接失败pip换源能快30秒但救不了gcc找不到gdal_configconda create新环境能隔离冲突但若基础镜像没预装geos-dev照样编译报错。这篇文章不提供“一键修复脚本”而是带你拆开osgeo安装失败的黑盒看清每一层卡点在哪里、为什么卡、以及如何用最稳的方式绕过去——不是绕开技术而是绕开那些本不该由你承担的系统级负担。2. 深度拆解osgeo安装失败的四大根源层级与对应症状表osgeo安装失败从来不是单一原因而是四层系统级问题叠加的结果。我把它们按发生顺序和影响深度分为依赖链断裂层、编译环境失配层、Python生态隔离层、运行时链接错位层。每一层都有典型报错特征、触发条件和验证方法。只有定位到具体层级才能避免盲目试错。2.1 依赖链断裂层底层C库缺失或版本错乱占比约42%这是最常被忽略的根源。osgeo不是纯Python包它90%以上代码是C/C写的GDAL核心。pip install osgeo实际是调用setup.py去编译GDAL源码而编译过程依赖一系列系统级C库PROJ坐标系转换引擎WGS84→UTM→地方坐标系GEOS几何拓扑运算库缓冲区分析、相交判断、多边形裁剪HDF5/NetCDF科学数据格式支持MODIS、Sentinel-3等卫星数据SQLite3Spatialite轻量级空间数据库支持libtiff/libpng/libjpeg栅格图像编解码器提示在Ubuntu/Debian上执行apt list --installed | grep -E proj|geos|hdf5|netcdf在CentOS/RHEL上执行rpm -qa | grep -E proj|geos|hdf5可快速检查基础依赖是否安装。Windows用户需确认OSGeo4W或GDAL官方二进制包是否已全局安装并加入PATH。典型症状configure: error: proj_api.h not foundPROJ头文件缺失fatal error: geos_c.h: No such file or directoryGEOS开发包未安装undefined reference to H5FopenHDF5链接失败编译日志中反复出现checking for PROJ... no或checking for GEOS... configure: error实测案例某高校遥感实验室批量部署Ubuntu 22.04服务器所有机器均执行sudo apt install gdal-bin python3-gdal但学生pip install osgeo仍失败。排查发现python3-gdal包仅提供运行时so文件不包含gdal-config和头文件而pip安装需要这些编译时资源。解决方案是额外安装libgdal-dev——这才是真正的“编译依赖包”。2.2 编译环境失配层编译器、架构、Python ABI不兼容占比约28%GDAL是高性能计算库对编译器要求严格。不同平台有不同陷阱WindowsVisual Studio版本必须与Python编译时一致。Python 3.9由VS2019编译若系统装的是VS2017cl.exe会报错MSVC version 14.2 not foundMinGW-w64虽可替代但需手动配置gdal-config路径。macOSApple SiliconM1/M2芯片默认使用arm64架构但部分GDAL二进制包仍为x86_64。pip install osgeo会下载x86_64 wheel运行时报mach-o, but wrong architecture。Linuxgcc版本过高如gcc 12可能触发GDAL 3.4.x的编译bug报错error: ‘isnan’ was not declared in this scopePython ABI版本cp39/cp310与wheel包不匹配导致ImportError: XXX.so: undefined symbol: PyUnicode_AsUTF8AndSize。典型症状error: Microsoft Visual C 14.0 is requiredWindows VS版本错mach-o, but wrong architectureMac M1架构错undefined symbol: PyUnicode_AsUTF8AndSizePython ABI错gcc: fatal error: cannot execute cc1plus: execv failedgcc组件缺失关键验证在终端执行python -c import sys; print(sys.version, sys.abiflags)再执行gdal-config --version若有对比ABI标识。例如Python 3.10.12的ABI是cp310若下载的wheel包名含cp39必然失败。2.3 Python生态隔离层pip/conda混用、虚拟环境污染、包冲突占比约19%这是新手最易踩的坑。osgeo相关包存在多个同名不同源的实现osgeo官方GDAL Python绑定已弃用仅存历史包gdalPyPI上非官方包常为旧版GDAL 2.xpygdal社区维护的GDAL绑定版本滞后rasterio基于GDAL的高级封装但不提供osgeo模块fiona矢量处理库依赖GDAL但不等价当pip install gdal和conda install gdal混用conda会覆盖pip安装的gdal但osgeo模块引用路径仍指向pip旧位置导致ImportError: No module named osgeo。典型症状pip list | grep gdal显示版本但import osgeo.gdal报错conda list gdal显示3.6.4pip show gdal显示3.4.3版本不一致在venv中pip install osgeo成功但import osgeo提示ModuleNotFoundError避坑要点永远不要在conda环境中用pip install osgeo。conda-forge的gdal包已预编译好所有依赖pip安装会破坏其二进制完整性。若必须用pip先conda deactivate退出conda base环境。2.4 运行时链接错位层动态库路径未加载、DLL找不到、PATH污染占比约11%即使编译成功运行时仍可能失败。GDAL需在运行时加载.soLinux/macOS或.dllWindows文件这些文件路径必须被系统识别LinuxLD_LIBRARY_PATH未包含/usr/lib/gdal或/opt/miniconda3/envs/myenv/libmacOSDYLD_LIBRARY_PATH未设置或SIPSystem Integrity Protection阻止加载非签名库WindowsPATH未包含C:\OSGeo4W64\bin或osgeo模块尝试加载gdal204.dll但实际安装的是gdal306.dll典型症状ImportError: libproj.so.22: cannot open shared object file: No such file or directoryOSError: Could not find lib gdal-3.dllWindowsSymbol not found: _proj_context_destroymacOS SIP拦截验证方法Linux/macOS执行ldd $(python -c import osgeo; print(osgeo.__file__)) | grep not foundWindows执行dumpbin /dependents C:\path\to\osgeo\gdal.pyd查看缺失DLL。下表总结四层问题的快速诊断路径问题层级典型报错关键词快速验证命令高概率平台解决优先级依赖链断裂proj_api.h not found,geos_c.h: No such fileapt list --installed | grep proj(Ubuntu)Linux/WSL★★★★★编译环境失配MSVC version 14.2 not found,wrong architecturepython -c import sys; print(sys.version)archWindows/Mac★★★★☆Python生态隔离pip list与conda list版本不一致which python,which pip,which conda所有平台★★★★☆运行时链接错位libproj.so.22: cannot open,Could not find lib gdal-3.dllldd $(python -c ...) | grep not foundLinux/Windows★★★☆☆记住90%的安装失败根源在第一层依赖链和第二层编译环境。第三、四层更多是“雪上加霜”。诊断时务必按此顺序排查否则容易陷入“修了A错B错又冒出来”的死循环。3. 实战方案针对不同场景的四套可落地安装路径附完整命令与参数说明面对osgeo安装失败没有万能解药只有场景适配方案。我根据五年一线支持经验提炼出四套经千人验证的落地路径覆盖Windows、macOS、Linux主流场景并明确标注每一步的为什么这么做、不这么做会怎样、参数背后的逻辑。3.1 方案一Windows专业级——OSGeo4W 独立Python环境推荐给GIS从业者这不是“偷懒方案”而是最接近生产环境的部署方式。OSGeo4W是GDAL官方维护的Windows集成包包含GDAL 3.8、PROJ 9.3、GEOS 3.12、PostgreSQLPostGIS全套地学栈且所有DLL已签名、路径已注册。操作步骤卸载所有冲突环境提示先关闭所有Python IDEPyCharm、VSCode、Jupyter Notebook确保无进程占用gdal DLL。执行pip uninstall gdal osgeo pygdal rasterio fiona清空pip安装痕迹若用conda执行conda deactivate conda env remove -n geo_env。安装OSGeo4W关键选择Advanced Install下载 OSGeo4W官网安装器 运行后选择Advanced Install→Install from Internet→ 设置本地包缓存路径如D:\osgeo4w\packages→ 选择Root Directory为C:\OSGeo4W64必须用64位路径避免32/64混用→Local Package Directory设为缓存路径 →Start download and installation。在Select Packages界面搜索gdal勾选gdal核心库、python-gdalPython绑定、proj、geos、hdf5、netcdf。注意不要勾选python3我们用自己的Python。配置独立Python环境推荐Anaconda安装 Miniconda3 创建专用环境conda create -n geo_env python3.10 conda activate geo_env此时python指向conda环境但gdal尚未可用。注入OSGeo4W的Python绑定核心步骤OSGeo4W的python-gdal包是为系统Python编译的需手动复制到conda环境# 复制gdal.pyd和osgeo目录 copy C:\OSGeo4W64\apps\Python39\Lib\site-packages\osgeo %CONDA_PREFIX%\Lib\site-packages\ copy C:\OSGeo4W64\apps\Python39\Lib\site-packages\gdal.pyd %CONDA_PREFIX%\Lib\site-packages\ # 复制依赖DLL关键 copy C:\OSGeo4W64\bin\gdal306.dll %CONDA_PREFIX%\Library\bin\ copy C:\OSGeo4W64\bin\proj.dll %CONDA_PREFIX%\Library\bin\ copy C:\OSGeo4W64\bin\geos_c.dll %CONDA_PREFIX%\Library\bin\为什么复制DLLconda环境默认不读取OSGeo4W的bin目录必须将DLL放入conda的Library\binWindows或libLinux/macOS这是Python ctypes加载DLL的默认路径。验证与测试import osgeo.gdal as gdal import osgeo.osr as osr print(gdal.__version__) # 应输出3.8.4 # 读取GeoTIFF测试 ds gdal.Open(test.tif) print(ds.RasterXSize)优势GDAL版本最新、PROJ坐标系支持最全、无需编译、DLL签名合规通过Windows SmartScreen。代价磁盘占用约1.2GB需手动管理DLL路径。适用场景高校GIS实验室、测绘院生产环境、需长期稳定运行的遥感项目。3.2 方案二macOS Apple Silicon——Miniforge conda-forge推荐给M1/M2开发者Apple Silicon的arm64架构让传统pip安装几乎必败。conda-forge是目前唯一提供原生arm64 GDAL wheel的渠道。操作步骤卸载Homebrew Python及pip安装的gdalbrew uninstall python pip3 uninstall gdal osgeo pygdal安装Miniforgeconda的arm64原生版下载 Miniforge3-MacOSARM64.sh 执行bash Miniforge3-MacOSARM64.sh -b -p $HOME/miniforge3 source $HOME/miniforge3/bin/activate conda init zsh # 若用zsh创建geo环境并安装gdal关键指定channelconda create -n geo_env python3.11 conda activate geo_env # 必须添加conda-forge channel并设为最高优先级 conda config --add channels conda-forge conda config --set channel_priority strict conda install gdal3.8.4 -c conda-forge为什么-c conda-forgeAnaconda默认channel的gdal包多为x86_64conda-forge提供arm64 wheel。channel_priority strict确保不从defaults channel降级安装。验证arm64架构python -c import gdal; print(gdal.__version__) file $(python -c import gdal; print(gdal.__file__.replace(.py, .so))) # 输出应含arm64字样避坑经验不要用pip install gdal它会下载x86_64 wheel并报mach-o, but wrong architecture。不要conda install -c conda-forge gdal后又pip install osgeo后者会覆盖conda安装的gdal。若需rasterio/fiona统一用conda安装conda install rasterio fiona -c conda-forge。优势零编译、arm64原生、版本同步、依赖自动解决。代价conda环境略重首次下载约300MB。适用场景MacBook Pro M1/M2科研用户、遥感算法研发、需GPU加速的PyTorchGDAL联合训练。3.3 方案三Ubuntu/Debian生产级——系统源dev包pip install推荐给服务器部署Linux服务器追求稳定与最小化应优先用系统包管理器安装编译依赖再用pip安装Python绑定。操作步骤更新系统并安装编译依赖sudo apt update sudo apt install -y build-essential python3-dev python3-pip # 安装GDAL核心依赖Ubuntu 22.04 sudo apt install -y libgdal-dev libproj-dev libgeos-dev libhdf5-dev libnetcdf-dev # 验证gdal-config可用 gdal-config --version # 应输出3.4.1设置GDAL编译参数关键pip安装时需告知编译器依赖路径export GDAL_CONFIG/usr/bin/gdal-config export CPLUS_INCLUDE_PATH/usr/include/gdal:/usr/include/proj export LIBRARY_PATH/usr/lib:/usr/lib/x86_64-linux-gnu安装osgeo注意不是pip install gdalpip3 install --no-cache-dir --compile --force-reinstall \ --global-option build_ext \ --global-option -I/usr/include/gdal \ --global-option -I/usr/include/proj \ --global-option -L/usr/lib/x86_64-linux-gnu \ GDAL3.8.4为什么用GDAL3.8.4而非osgeoPyPI上的osgeo包是空壳真正要装的是GDAL包。--global-option传递编译参数-I指定头文件路径-L指定库文件路径。验证链接ldd $(python3 -c import gdal; print(gdal.__file__.replace(.py, .so))) | grep not found # 若无输出说明所有依赖已正确链接避坑经验Ubuntu 20.04默认gdal-dev是3.0.4太旧需sudo add-apt-repository ppa:ubuntugis/ppa sudo apt update升级。pip3 install gdal会跳过编译直接下载wheel但Ubuntu官方wheel常缺失HDF5支持必须--compile强制编译。若报/usr/bin/ld: cannot find -lhdf5说明libhdf5-dev未安装补装即可。优势轻量、可控、符合Linux运维规范、便于Docker化。代价需手动管理编译参数首次编译耗时5-10分钟。适用场景AWS EC2遥感处理服务器、Docker容器、CI/CD流水线。3.4 方案四Windows快速验证——conda-forge预编译包推荐给课程教学当时间紧迫、只需快速跑通democonda-forge的预编译包是最快路径。操作步骤安装Miniconda364位下载 Miniconda3 Windows 64-bit 安装时勾选Add Anaconda to my PATH environment variable。创建环境并安装一行命令conda create -n geo_demo python3.9 -c conda-forge gdal3.6.4 rasterio fiona conda activate geo_demo验证osgeo模块conda会自动创建osgeo别名import osgeo.gdal as gdal # 或直接 from osgeo import gdal, osr, ogr print(gdal.VersionInfo()) # 输出3.6.4为什么选3.6.4conda-forge的GDAL 3.7在Windows上偶发DLL加载失败尤其与TensorFlow共存时3.6.4是经过千人验证的最稳版本。它支持GDAL 3.6所有功能包括Cloud Optimized GeoTIFF且与OpenCV、PyTorch兼容性最佳。限制不支持HDF5/NetCDF教学demo通常不需要。PROJ版本为8.2不支持最新WKT2坐标系语法科研论文需更高版本时慎用。无法自定义编译选项如启用JPEG2000压缩。适用场景高校Python地理信息课、Kaggle遥感竞赛快速启动、学生课程设计。四套方案不是随意排列而是按稳定性 兼容性 速度 简单性排序。方案一OSGeo4W在Windows上故障率低于0.5%方案二Miniforge在M1 Mac上成功率99.2%方案三Ubuntu编译是AWS遥感服务的标准配置方案四conda-forge是Coursera《Python for GIS》课程指定方案。选择哪套取决于你的硬件平台、团队协作规范、项目生命周期——而不是“哪个看起来简单”。4. 终极避坑指南12个真实踩过的坑与不可绕过的细节osgeo安装失败的教训往往来自那些文档里不会写的细节。以下是我在支持200地信团队过程中亲手踩过、记录下来、并验证过修复效果的12个关键坑。每个都附带错误现象、根因分析、修复动作、原理说明。4.1 坑1Windows上pip install gdal后import osgeo报错“ModuleNotFoundError”错误现象pip install gdal3.8.4 python -c import osgeo # ModuleNotFoundError: No module named osgeo根因分析PyPI上的gdal包安装的是gdal模块如from osgeo import gdal但不创建osgeo包目录。osgeo是GDAL官方Python绑定的顶层包名需pip install GDAL大写GDAL才生成。修复动作pip uninstall gdal pip install GDAL3.8.4 # 注意首字母大写原理说明gdal小写是社区维护的简化包GDAL大写是官方维护的完整绑定。前者仅提供gdal子模块后者提供osgeo.gdal、osgeo.osr、osgeo.ogr全栈接口。官方文档明确要求用pip install GDAL。4.2 坑2Ubuntu上gdal-config --version输出3.4.1但pip install GDAL3.4.1编译失败错误现象configure: error: cannot find proj_api.h尽管apt list --installed | grep proj显示libproj-dev已安装。根因分析Ubuntu 22.04的libproj-dev包将proj_api.h移至/usr/include/proj.h而GDAL 3.4.x的configure脚本仍搜索旧路径proj_api.h。修复动作sudo ln -s /usr/include/proj.h /usr/include/proj_api.h原理说明PROJ 6.0废弃proj_api.h统一用proj.h。GDAL 3.4.x未完全适配需符号链接兼容。GDAL 3.6已修复此问题故推荐升级GDAL版本而非打补丁。4.3 坑3Mac M1上conda install gdal后import gdal报Symbol not found: _proj_context_destroy错误现象ImportError: dlopen(.../gdal.cpython-311-darwin.so, 0x0002): symbol not found in flat namespace _proj_context_destroy根因分析conda-forge的gdal包依赖PROJ 9.2但系统/opt/homebrew/lib/libproj.dylib是PROJ 8.2版本不匹配导致符号缺失。修复动作conda install -c conda-forge proj9.3.0 # 或彻底清理Homebrew PROJ brew uninstall proj原理说明macOS动态链接器优先加载/opt/homebrew/lib下的库而非conda环境的libproj.dylib。卸载Homebrew PROJ强制conda加载其自带版本。4.4 坑4Windows上OSGeo4W安装后conda环境import osgeo报DLL load failed错误现象OSError: [WinError 126] The specified module could not be found根因分析OSGeo4W的bin目录未加入conda环境的PATHPython找不到gdal306.dll等依赖。修复动作在conda环境激活后执行set PATHC:\OSGeo4W64\bin;%PATH%或永久写入conda环境配置conda env config vars set PATHC:\OSGeo4W64\bin原理说明Windows DLL加载顺序1exe所在目录 2当前工作目录 3PATH环境变量路径。conda环境不继承OSGeo4W的PATH必须显式添加。4.5 坑5Linux服务器上pip install GDAL成功但gdalinfo test.tif报ERROR 4: Unable to open EPSG support file gcs.csv错误现象GDAL Python绑定可用但命令行工具gdalinfo报错找不到EPSG文件。根因分析gdalinfo是系统gdal-bin包提供的二进制而pip安装的GDAL Python绑定不包含gcs.csv等数据文件。修复动作sudo apt install gdal-data # 或设置GDAL_DATA环境变量 export GDAL_DATA/usr/share/gdal/3.4 # 路径依系统而定原理说明GDAL数据文件坐标系定义、投影参数独立于代码包。gdal-bin包安装/usr/share/gdal/pip安装不包含此目录需手动指定GDAL_DATA。4.6 坑6Jupyter Notebook中import osgeo成功但重启kernel后失败错误现象第一次运行正常重启kernel后ModuleNotFoundError。根因分析Jupyter kernel未关联到正确Python环境。jupyter kernelspec list显示kernel指向系统Python而非conda环境。修复动作conda activate geo_env python -m ipykernel install --user --name geo_env --display-name Python (geo_env)然后在Jupyter中选择Python (geo_env)kernel。原理说明Jupyter kernel是独立进程需显式注册。--user将kernel安装到~/.local/share/jupyter/kernels/避免权限问题。4.7 坑7pip install GDAL时gcc报错fatal error: Python.h: No such file or directory错误现象gcc编译C扩展时找不到Python头文件。根因分析python3-dev包未安装。Python.h是Python C API头文件位于/usr/include/python3.10/由python3-dev提供。修复动作sudo apt install python3.10-dev # Ubuntu/Debian # 或通用命令 sudo apt install python3-dev原理说明python3-dev是开发必备包包含头文件和静态库。python3包只含运行时不含开发资源。4.8 坑8conda环境import osgeo.gdal成功但gdal.Open()读取GeoTIFF报ERROR 4: ... no driver错误现象模块导入成功但无法读取常见格式。根因分析GDAL编译时未启用对应驱动。如未链接libtiff则不支持TIFF未链接libpng则不支持PNG。修复动作conda install -c conda-forge libtiff libpng libjpeg # 确保驱动库已安装 conda install -c conda-forge gdal3.8.4 # 重新安装GDAL自动检测驱动原理说明GDAL驱动是编译时决定的。conda-forge的gdal包在构建时自动探测系统库安装驱动库后再重装GDAL可激活对应驱动。4.9 坑9Windows上pip install GDAL后import osgeo报ImportError: DLL load failed while importing _gdal错误现象_gdal.pyd加载失败但gdal.pyd存在。根因分析_gdal.pyd依赖gdal306.dll而gdal306.dll又依赖proj.dll、geos_c.dll等任一缺失即失败。修复动作使用 Dependency Walker 打开_gdal.pyd查看缺失DLL然后从OSGeo4W的bin目录复制对应DLL到%CONDA_PREFIX%\Library\bin\。原理说明Windows DLL加载是递归过程。_gdal.pyd是Python扩展需加载GDAL核心DLL核心DLL又需加载PROJ/GEOS等。必须全部到位。4.10 坑10Mac上conda install gdal后import osgeo报OSError: dlopen(.../gdal.cpython-311-darwin.so, 0x0002): tried: /usr/lib/libproj.dylib (no such file)错误现象动态链接器尝试加载系统/usr/lib/libproj.dylib但该路径不存在macOS SIP保护。根因分析conda包编译时链接了绝对路径/usr/lib/libproj.dylib但macOS不允许访问/usr/lib。修复动作conda install -c conda-forge proj9.3.0 # 强制conda提供libproj.dylib install_name_tool -change /usr/lib/libproj.dylib rpath/libproj.dylib $CONDA_PREFIX/lib/python3.11/site-packages/osgeo/_gdal.cpython-311-darwin.so原理说明install_name_tool修改dylib的链接路径rpath指向conda环境的lib目录绕过SIP限制。4.11 坑11Ubuntu Docker容器中pip install GDAL编译超时CPU占用100%错误现象gcc编译持续10分钟以上Docker build卡住。根因分析Docker容器默认内存限制GDAL编译需1GB内存内存不足触发OOM Killer。修复动作# Dockerfile中增加内存限制 RUN --mounttypecache,target/root/.cache/pip \ pip install --no-cache-dir --compile GDAL3.8.4或构建时指定内存docker build --memory2g -t geo-app .原理说明GDAL编译是内存密集型任务。Docker
返回列表