cartopy: ошибка импорта cartopy.crs

Я работаю над некоторыми разработками для xarray. Я пытался установить rasterio, но, похоже, моя установка cartopy запуталась.

Я установил rasterio на свой Mac, используя:

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

Возможно, что-то с путями/версиями GEOS, PROJ4 или GDAL изменилось?

Есть ли способ сделать чистую установку cartopy, которая захватит зависимости?

Первоначально я установил cartopy, используя conda install -c conda-forge 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

но безрезультатно


person Ray Bell    schedule 07.01.2018    source источник
comment
Вы также связали установку gdal и rasterio из conda? Вы должны иметь возможность получить все необходимые вам зависимости с помощью conda install -c conda-forge xarray cartopy rasterio gdal ..., а conda должна найти правильную комбинацию библиотек/версий. Мой опыт показывает, что смешивание brew/pip/conda может привести к проблемам.   -  person jhamman    schedule 07.01.2018
comment
Спасибо. Я не мог заставить conda install работать с rasterio, поэтому я пошел по другому пути установки Mac, хотя теперь я плачу за это. К сожалению, новый conda install не помог.   -  person Ray Bell    schedule 07.01.2018


Ответы (1)


cartopy забирал каталог geos из каталога brew install gdal. Поэтому я удалил это, используя:

$ 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.

person Ray Bell    schedule 07.01.2018
comment
Хотя этот фрагмент кода может быть решением, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. - person Patrick Haugh; 07.01.2018