我有一段代码直到上周都运行良好,但现在却出现以下错误:
AttributeError:模块“fiona”没有属性“path”
我已确保安装并导入了所有必需的库。有人知道可能出了什么问题或我该如何解决这个问题吗?
谢谢!
pip install geopandas
pip install fiona
import geopandas as gpd
import fiona
countries =
gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
0
最佳答案
3
TL;DR 更新geopandas==0.14.4
或固定fiona
到版本1.9.6
—
它似乎fiona
到1.10.0
(截至) ,2024-09-04 01:14 UTC
并且可能已经破坏了一些旧版本geopandas
,这只取决于fiona
高于某些版本,而不是低于。
仔细观察后发现,geopandas
直到为止仍会调用fiona.path
,但从开始便不再调用。
因此升级geopandas
应该0.14.4
可以解决这个问题。
或者,强制fiona
保留版本1.9.6
也应该可行。
注意:升级到geopandas
似乎>=1.0
会完全删除fiona
依赖项,因此它也会解决此问题。但删除 又会带来全新的麻烦geopandas.dataset
。有关详细信息,请参阅
1
-
感谢@t-brito,fiona v1.9.6 解决了这个问题。
–
|
t-brito 的回答是正确的。如果出于任何原因您不想升级 geopandas,您可以在构建新环境时指定所需的 fiona 版本(进入之前可以正常工作的环境而无需重建它,使用命令“pip list”并获取与 geopandas 版本兼容的 fiona 版本)。
在我的例子中,fiona 1.9.6 与 geopandas 0.13.2 匹配
|
修复 fiona 版本解决了这个问题,我用过,geopandas==0.10.2
并且fiona==1.9.6
有效!
1
-
供参考… geopandas 0.10.2 于 2021 年 10 月 16 日发布,差不多是 3 年前了,相当老了。您可以考虑尝试使用较新的版本。
–
|
|