2014-09-10 13 views
1

Mac OSX에서 Python3.4를 사용하고 있으며 매끄럽게 가져 오려고합니다. 그러나 나는 그렇게 할 수 없다. 나는 내가 GEOS_LIBRARY_PATH을 설정해야 할 수도 있습니다 생각Python이 매끄럽게 가져올 수 없습니다.

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'] 

,하지만 난에 설정하는 것이 무엇인지 확실하지 않다 : 여기 내 역 추적입니다.

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 

은 아무도 날 포인트를 내가 GEOS를 양조를 설치 않았다 후 다음

/Users/tc9/homebrew/Cellar/geos/3.4.2/lib의 LS입니다 매끄럽게 가져 오기위한 솔루션의 방향으로? 감사.

+0

당신의'DYLD_LIBRARY_PATH'은 무엇입니까? 그리고'/ opt/local/lib'에'libgeos_c.dylib'이 있습니까? – Evert

+0

'/ Users/tc9/homebrew/Cellar'는 양조를 저장하는 곳일 수 있지만 uslaly는 더 실용적인 디렉토리 ('Cellar' 디렉토리 제외)에 대한 심볼릭 링크를 만듭니다. 어떤 디렉토리인지 알고 있습니까? – Evert

+0

@Evert echo $ DYLD_LIBRARY_PATH에 공백이 생기는 경우 DYLD_LIBRARY_PATH를 설정하지 않았습니다./opt/local/bin 폴더가 있지만/opt/local/lib는 없습니다./-name "libgeos_c.dylib"를 찾으면/Users/tc9 /homebrew/Cellar/geos/3.4.2/lib/libgeos_c.dylib 및 /Users/tc9/homebrew/lib/libgeos_c.dylib –

답변

3

homebrew를 홈 디렉토리 (홈 디렉토리의 서브 디렉토리 homebrew)에 설치하도록 설정했습니다. 괜찮습니다. 그러나 시스템에 설치된 라이브러리를 찾아야합니다. /opt/local/lib은 일반적으로 자동으로 발견되지만 /Users/tc9/homebrew/lib은 자동으로 발견되지 않습니다.

export DYLD_LIBRARY_PATH=/Users/tc9/homebrew/lib 

가 먼저 명령 행에서이 작업을 수행 할 수 있습니다, 그리고 그것을 작동하는 경우, 프로필에 넣어 :

그래서 대신 GEOS_LIBRARY_PATH을 설정하는 다음과 같이 DYLD_LIBRARY_PATH을 설정해보십시오.

하위 디렉토리 Cellar을 사용하고 있지 않습니다. 당신은 그것을 homebrew를위한 아카이브로보아야하지만 사용중인 실제 파일은 볼 수 없습니다. 이를 위해서는 /home/tc9/homebrew을 사용하십시오 (lib, bin 등이 붙어 있음). 예를 들어 PATH에는 Cellar 디렉토리가 포함되어서는 안됩니다.

+0

DYLD_LIBRARY_PATH 설정이 트릭입니다. 감사합니다! –