Python не может импортировать корректно

Я использую Python3.4 на Mac OSX и пытаюсь импортировать корректно. Однако я не могу этого сделать. Вот мой след:

    from shapely.geometry import Point
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geometry/__init__.py", line 4, in <module>
    from .base import CAP_STYLE, JOIN_STYLE
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geometry/base.py", line 9, in <module>
    from shapely.coords import CoordinateSequence
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/coords.py", line 8, in <module>
    from shapely.geos import lgeos
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geos.py", line 74, in <module>
    _lgeos = load_dll('geos_c', fallbacks=alt_paths)
  File "/Users/tc9/Library/Python/3.4/lib/python/site-packages/shapely/geos.py", line 53, 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']

Я думаю, что мне, возможно, придется установить GEOS_LIBRARY_PATH, но я не уверен, что его установить.

Вот лс /Users/tc9/homebrew/Cellar/geos/3.4.2/lib после того, как я заварил установить геос:

libgeos-3.4.2.dylib
libgeos.dylib
libgeos_c.a
libgeos.a
libgeos_c.1.dylib
libgeos_c.dylib

Я отредактировал и получил мой ~/.profile, но это не решило проблемы:

GEOS_LIBRARY_PATH="/Users/tc9/homebrew/Cellar/geos/3.4.2"
export GEOS_LIBRARY_PATH

Кто-нибудь может указать мне в направлении решения для получения стройной для импорта? Благодарю.

1 ответ

Решение

Вы установили homebrew для установки вещей в свой домашний каталог (ну, homebrew подкаталог в вашем домашнем каталоге). Это нормально, но вы должны указать своей системе найти там установленные библиотеки. /opt/local/lib обычно находится автоматически, но /Users/tc9/homebrew/lib не будет.

Так что вместо настройки GEOS_LIBRARY_PATH, попробуйте установить DYLD_LIBRARY_PATH следующее:

export DYLD_LIBRARY_PATH=/Users/tc9/homebrew/lib

Сначала вы можете сделать это в командной строке, и если это сработает, поместите это в свой профиль.

Обратите внимание, что я не использую Cellar подкаталог; вы должны увидеть это как архив для доморощенного, а не как используемые файлы. Для этого используйте /home/tc9/homebrewlib, bin и т. д. прилагается). Так, например, ваш PATH также не должны включать Cellar каталог.

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