Ошибка OSError geos_c не найдена при установке Shapely

Я новичок в создании / построении графиков на картах с Python, пытаясь следовать этому посту в блоге, чтобы создать карту мира (http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic- данный на-миро-карта-с-питоном /). Застрял здесь с несколькими вещами:

  1. Установка базовой карты (расширение Matplotlib для отображения данных о географических проекциях).

    from mpl_toolkits.basemap import Basemap
    Traceback (most recent call last):
    File "geos_demo.py", line 1, in <module>
    from mpl_toolkits.basemap import Basemap
    ImportError: No module named mpl_toolkits.basemap
    
  2. Установите Shapely, но возникает следующая ошибка [1]:

  3. Затем я вошел в файл geos.py и изменил все ссылки на geos.dll на geos_c.dll, как рекомендовано по ссылке здесь: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-Problems-with-python-shapely-python-2-7-2-td4336816.html

  4. Однако такая же ошибка [1] возникает.

Я использую Python 2.7.1 и Mac OS 10.7.4. Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию, и очень ценю любые рекомендации сообщества здесь! Спасибо!

[1]

    from shapely.geometry import Point
    Traceback (most recent call last): File "<stdin>", line 1, in <module>
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/__init__.py", line 4, in <module>
    from geo import box, shape, asShape, mapping
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/geo.py", line 5, in <module>
    from point import Point, asPoint
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geometry/point.py", line 7, in <module>
    from shapely.coords import required
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/coords.py", line 8, in <module>
    from shapely.geos import lgeos
    File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 59, in <module>
    _lgeos = load_dll('geos_c', fallbacks=alt_paths)
     File "/Users/Desktop/python/ENV/lib/python2.7/site-packages/shapely/geos.py", line 44, in load_dll
    libname, fallbacks or []))
    OSError: Could not find library geos_c or load any of its variants        ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib']

5 ответов

Для вопросов 2-4 в вашей системе должен быть установлен GEOS. Если у вас есть домашний напиток, вы можете сделать следующее:

brew install geos

Установите homebrew здесь, если у вас его нет: http://mxcl.github.com/homebrew/

На Ubuntu, чтобы установить GEOS, это сработало для меня:

$ sudo apt-get install libgeos-dev

С OS X 10.11 (El Capitan) и Boxen я должен был сделать это:

brew install geos
sudo mkdir /opt/local
sudo ln -s /opt/boxen/homebrew/lib /opt/local/lib

позволить Shapely найти libgeos_c.dylib в одном из мест он был готов искать его.

Кажется, проблема в том, что вы на самом деле не установили необходимые модули.

Строки кода Python, такие как

from mpl_toolkits.basemap import Basemap

Это операторы импорта, которые говорят вашему сценарию использовать модули (или другие фрагменты кода Python), которые вам нужно уже установить.

Для каждого из упомянутых пакетов (NumPy, Matplotlib, Basemap) вам необходимо выяснить, как установить их в вашей системе. В случае с NumPy и Matplotlib это может быть сложно, потому что они требуют компиляции. Например, это инструкции Numpy.

Если вы просто хотите попробовать поиграть с инструкциями в этом сообщении в блоге, вы можете использовать такой сервис, как PythonAnywhere, в котором уже установлены numpy, matplotlib и basemap. (отказ от ответственности, я работаю над PythonAnywhere...)

На windows 10, python 3.6.5 64bit

  • установить osgeo4w
  • добавить установленную папку в PATH, например C:\OSGeo4W64\bin (должен содержать geos_c.dll)
  • перезапустить командную строку

наслаждаться

Я знаю, что это довольно старый вопрос, но в качестве альтернативы /questions/46958876/oshibka-oserror-geosc-ne-najdena-pri-ustanovke-shapely/46958893#46958893 вы можете использовать MacPorts для установки библиотеки geos:

port install geos

И шаги установки для MacPorts описаны здесь: https://www.macports.org/install.php

Другие вопросы по тегам