Я использую сваренный Python 2.7.11 на OS X El Capitan 10.11.3. У меня не получается импортировать Shapely/GEOS:
Failed `CDLL(/usr/local/lib/libgeos_c.dylib)`
Failed `CDLL(/Library/Frameworks/GEOS.framework/Versions/Current/GEOS)`
Failed `CDLL(/opt/local/lib/libgeos_c.dylib)`
Traceback (most recent call last):
File "example.py", line 2, in <module>
from shapely.geometry import Point
File "/Library/Frameworks/GEOS.framework/Versions/3/Python/2.7/site-packages/shapely/geometry/__init__.py", line 4, in <module>
from .base import CAP_STYLE, JOIN_STYLE
File "/Library/Frameworks/GEOS.framework/Versions/3/Python/2.7/site-packages/shapely/geometry/base.py", line 9, in <module>
from shapely.coords import CoordinateSequence
File "/Library/Frameworks/GEOS.framework/Versions/3/Python/2.7/site-packages/shapely/coords.py", line 8, in <module>
from shapely.geos import lgeos
File "/Library/Frameworks/GEOS.framework/Versions/3/Python/2.7/site-packages/shapely/geos.py", line 92, in <module>
mode=(DEFAULT_MODE | 16))
File "/Library/Frameworks/GEOS.framework/Versions/3/Python/2.7/site-packages/shapely/geos.py", line 61, in load_dll
libname, fallbacks or []))
OSError: Could not find lib geos_c or load any of its variants ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib'].
Эта ошибка поразительно похожа на те, о которых сообщается здесь: Python не может импортировать shapely и Не удалось найти OSError geos_c при установке Shapely . После реализации всех предложений, которые «сработали» для других, я продолжаю получать эту ошибку.
Я установил геос с brew install geos
сегодня. Он установлен в /usr/local/Cellar/geos/3.5.0
.
Если я запускаю find / -name "libgeos_c.dylib"
, я нахожу три версии:
/Library/Frameworks/GEOS.framework/Versions/3/unix/lib/libgeos_c.dylib
/usr/local/Cellar/geos/3.5.0/lib/libgeos_c.dylib
/usr/local/lib/libgeos_c.dylib
Обратите внимание, что последняя строка — это точно тот же путь, что и в первой строке ошибки. Итак, Python не может импортировать существующий файл? Я знаю, что это псевдоним (для файла в Cellar
), но был бы удивлен, если бы это было причиной.
Кроме того, $DYLD_LIBRARY_PATH
и $GEOS_LIBRARY_PATH
пусты при запуске, но установка любого из следующих значений не решает проблему:
export DYLD_LIBRARY_PATH=/usr/local/lib
export GEOS_LIBRARY_PATH=/usr/local/Cellar/geos/3.5.0
export GEOS_LIBRARY_PATH=/usr/local/Cellar/geos/3.5.0/lib
Любое понимание будет чрезвычайно приветствоваться! На это у меня ушло уже больше половины дня...
DYLD_LIBRARY_PATH
перезаписан где-то еще? Возможно, вместо этого попробуйтеexport DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
. - person Kotaro   schedule 27.10.2016