在Amazon Linux 2中运行GDAL-3.2.1时proj.db未找到的问题
解决Amazon Linux 2下PROJ_LIB环境变量不生效的问题
先确认proj.db的真实路径
用命令查找系统中所有proj.db文件:find / -name proj.db 2>/dev/nullAmazon Linux 2中通过yum安装的PROJ,proj.db通常在
/usr/share/proj或/usr/lib64/proj目录下,以实际搜索结果为准。验证环境变量是否生效
- 终端中设置后,执行
echo $PROJ_LIB确认输出的路径是否和proj.db所在目录一致;如果是在配置文件(如~/.bashrc、~/.bash_profile)中添加的环境变量,需执行source ~/.bashrc使其立即生效。 - Python代码中,务必在导入GDAL/OSR模块前设置环境变量,并打印验证:
import os os.environ['PROJ_LIB'] = '/usr/share/proj' # 替换为实际找到的目录 print(os.environ.get('PROJ_LIB')) from osgeo import gdal, osr
- 终端中设置后,执行
检查权限与版本兼容性
- 执行
ls -l /path/to/proj.db,确保当前用户对该文件及所在目录有读取权限(权限列包含r)。 - 用
gdal-config --version和proj --version查看版本,Amazon Linux 2的yum源中GDAL版本偏旧,需确保PROJ版本与GDAL匹配,避免因版本差异导致路径识别异常。
- 执行
强制关联PROJ路径
如果GDAL默认找不到proj.db,可创建软链接将proj.db所在目录指向GDAL期望的路径:ln -s /实际的proj目录 /usr/share/proj比如实际路径是
/usr/lib64/proj,就执行ln -s /usr/lib64/proj /usr/share/proj。
内容的提问来源于stack exchange,提问作者Syler
相关产品推荐
相关产品推荐

