Не удается импортировать Shapely (Ubuntu, Python)

Я скачал Shapely, чтобы поработать с полигонами (в экземпляре Ubuntu AWS). Все установилось просто отлично, я использовал wget. Я также сделал pip, когда впервые столкнулся с ошибкой, которую собираюсь объяснить, но он просто сказал, что все есть, поэтому я не думаю, что проблема в загрузке.

Во всяком случае, когда я пытаюсь импортировать что-либо из в форме, я получаю эту ошибку:

OSError: libgeos_c.so: cannot open shared object file: No such file or directory

Когда я просто говорю «импортировать красиво», все идет хорошо. Однако, когда мне нужно импортировать что-либо из глубины библиотеки, происходит сбой. Сначала я попробовал это с from shapely.geometry import polygon, но это то же самое для всего, что находится внутри пакета. У кого-нибудь была эта проблема раньше/знает решение?


person Alex Chumbley    schedule 09.10.2013    source источник


Ответы (1)


В Ubuntu, по-видимому, вы всегда должны использовать sudo apt-get install для получения библиотек и тому подобного. Когда я делал wget или pip install, я просто вставлял файлы в случайное место, а не по своему фактическому пути.

Итак, я думаю, всегда используйте sudo apt-get install...

person Alex Chumbley    schedule 09.10.2013
comment
Просто к вашему сведению: настоящая причина не связана с вашим $ PATH или с тем, что вы никогда не должны использовать pip в Ubuntu. Это потому, что pip не обрабатывает требования, которые не являются библиотеками Python. shapely зависит от libgeos, и он у вас не установлен. Менеджеры пакетов (такие как apt) управляют системными зависимостями. pipeasy_install и т. д.) просто обрабатывают зависимости от других библиотек Python. Они не знают, как получить и установить системные библиотеки, такие как libgeos. Таким образом, apt сработало, потому что libgeos было указано как зависимость для shapely, и apt тоже знал, что нужно его установить. - person Joe Kington; 10.10.2013
comment
Благодарю за разъяснение! Я был бы более чем рад принять это как ответ - person Alex Chumbley; 11.10.2013