Cython 사용시 ImportError 발생; Vectorized shapely operations using Cython

조회수 439회

링크1 링크1 의 cython 예제를 jupyter notebook 에서 실행해 봤습니다. 정상적으로 동작하며 python에 비해 cython은 효과적으로 시간을 줄여줍니다. 그러나 동일한 script를 간단한 setup.py 를 통해 compile 한 후 python 에서 import를 하였습니다. 결과적으로 아래와 같은 에러가 발생합니다.

import contains_cy ImportError: /my_path/bla/bla/contains_cy.cpython-36m-x86_64-linux-gnu.so: undefined symbol: GEOSPreparedContains_r

만약 script 에 문제가 있는 것이라면 동일한 script가 jupyter-notebook에서 실행되지 않아야 합니다. 그러나 jupyter-notebook에서 실행이 됩니다. 따라서 script 문제가 아닌 환경 문제라고 생각합니다.

무엇이 문제인지 모르겠습니다. 링크의 comment 를 보면 Ahmet Temiz 도 비슷한 문제를 경험한 것 같은데 그의 질문에 답이 없습니다. 해결할 방법이 있을까요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • undefined symbol 이면 보통 라이브러리를 못 찾는겁니다. LD_LIBRARY_PATH 를 살펴보시기 바랍니다. JUPYTER 에서는 된다면 JUPYTER 에서 cython 컴파일시 사용하는 LD_LIBRARY_PATH 등 PATH 정보를 살펴보시기 바랍니다. 정영훈 2020.4.7 10:35
  • 답변 감사합니다. 저도 같은 생각입니다. .bashrc 화일을 수정하여 LD_LIBRARY_PATH를 추가하였지만 현상은 동일합니다. 좀 더 확인해 보겠습니다. 감사합니다. 알 수 없는 사용자 2020.4.7 19:51

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)