osgeo 包退出在 python 环境中运行,没有错误/警告

问题描述 投票:0回答:1

我在 python 环境中运行 gdal/ogr/osr 时遇到问题。该程序刚刚停止运行,直到我使用任何这些包的行。它不会给出任何错误或警告消息。我可以很好地导入所有这些包。

这是我的设置:

蟒蛇:3.12.7 gdal:3.9.2(从构建.wheel安装) numpy:2.2.0

代码在虚拟环境中运行。 我确实在我的 qgis 安装中安装了 gdal cli 和 gdal3.9.1 版本。我可以在 qgis python 编辑器中运行相同的代码。

我的gdal cli版本是3.2.2。

我尝试删除虚拟环境并重新安装所有内容,但这不起作用。

我降级到gdal:3.8.4,工作正常。问题是它不支持 numpy 2.0。

示例:

from osgeo import gdal, ogr

filepath = "filepath.tif"
print('here message can be printed okay')
gdal.Warp("warped_filepath.tif", 
        filepath,
        xRes=0.1,
        yRes=-0.1)
print("this message will not be printed and no new file generated")

当调用 gdal.Warp 函数时,此代码将默默地运行并失败,不会出现任何错误。

python gdal gdal-python-bindings
1个回答
0
投票

如果您希望 gdal 使用 python 绑定引发异常,则应在导入 gdal 后调用

gdal.UseExceptions()

更多信息在这里:gdal python_gotchas

在 gdal 4.0 中,计划(没有日期;-))更改默认行为,因此不再需要这样做。

示例:

from osgeo import gdal, ogr

gdal.UseExceptions()
filepath = "filepath.tif"
print('here message can be printed okay')
gdal.Warp("warped_filepath.tif", 
        filepath,
        xRes=0.1,
        yRes=-0.1)
print("this message will not be printed and no new file generated")
© www.soinside.com 2019 - 2024. All rights reserved.