【问题标题】:cartopy: import cartopy.crs errorcartopy: 导入 cartopy.crs 错误
【发布时间】:2018-06-16 19:24:52
【问题描述】:

我正在为xarray 进行一些开发。我试图安装rasterio,但它似乎搞砸了我的cartopy 安装。

我在我的 Mac 上安装了rasterio,使用:

brew install gdal
pip install rasterio

现在当我尝试import cartopy.crs as ccrs 时出现错误

Invalid argument (must be a Polygon)
Geometry must be a Point or LineString
Assertion failed: (0 != cs), function GEOSCoordSeq_getSize_r, file geos_ts_c.cpp, line 3991.
Abort trap: 6

GEOSPROJ4GDAL 的路径/版本可能发生了变化?

有没有办法全新安装cartopy 来获取依赖项?

我最初使用conda install -c conda-forge cartopy 安装cartopy。做conda update cartopy 并没有真正做任何事情,因为我有最新版本。

任何帮助都将不胜感激,因为我的大部分工作都在使用 cartopy。

编辑:这里有一些关于这个的讨论https://github.com/SciTools/cartopy/issues/612

$ geos-config --version 3.6.2

试过

conda remove xarray cartopy rasterio gdal geos proj4 shapely
conda install -c conda-forge xarray cartopy rasterio gdal geos proj4 shapely

但无济于事

【问题讨论】:

  • 您是否也从 conda 安装了 gdal 和 rasterio ?您应该能够使用 conda install -c conda-forge xarray cartopy rasterio gdal ... 获得所需的所有依赖项,并且 conda 应该能够找到正确的库/版本组合。我的经验是混合 brew/pip/conda 会导致问题。
  • 谢谢。我无法让conda installrasterio 一起工作,所以我选择了另一个mac 安装路径,尽管现在我正在为此付费。不幸的是,新的conda install 似乎没有帮助。

标签: python python-xarray cartopy rasterio


【解决方案1】:

cartopy 正在从brew install gdal 中获取geos 目录。因此,我使用以下方法删除了它:

$ brew tap beeftornado/rmtree
$ brew rmtree gdal
$ brew uninstall --ignore-dependencies proj
$ brew uninstall --ignore-dependencies geos
$ brew uninstall --ignore-dependencies json-c
$ brew uninstall --ignore-dependencies freexl
$ brew uninstall --ignore-dependencies liblwgeom

cartopy 然后正确选择了geos 安装在conda 安装cartopy 期间安装的目录。

【讨论】:

  • 虽然此代码 sn-p 可能是解决方案,但 including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
猜你喜欢
  • 2018-08-05
  • 2023-03-19
  • 1970-01-01
  • 2017-08-30
  • 2021-08-03
  • 2019-02-21
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多