使用pysheds的from_raster属性时遇报错求助
解决
module 'pysheds.grid' has no attribute 'from_raster' 报错问题 你遇到的问题核心是导入方式错误——你把pysheds.grid模块本身命名成了Grid,但from_raster其实是模块里Grid类的类方法,并不是模块的属性。
修正后的代码
把导入语句改成直接导入Grid类,就能正常调用方法了:
import numpy as np import matplotlib.pyplot as plt import matplotlib.colors as colors import geopandas as gpd import pysheds from pysheds.grid import Grid # 这里是关键修正 import mplleaflet grid = Grid.from_raster('path.tif', data_name='dem')
为什么之前的代码不行?
你原来的import pysheds.grid as Grid是把整个pysheds.grid模块赋值给了变量Grid,而from_raster是模块内部Grid类的专属方法,不属于模块本身。所以当你调用Grid.from_raster()时,相当于在找模块的from_raster属性,自然会提示找不到。
额外排查点
如果修正导入后仍然报错,建议检查你的pysheds版本:
- 控制台执行
pip show pysheds查看当前版本 from_raster是pysheds较新的特性,若版本过旧,可执行pip install --upgrade pysheds升级到最新版
内容的提问来源于stack exchange,提问作者rypo06
相关产品推荐
相关产品推荐

