2014-02-11 7 views
3

psycopg2과 함께 pymc을 사용할 수 없습니다. 튜토리얼에서 다음과 같은 간단한 코드 조각 : 다음과 같은 오류에psycopg2, pymc, theano 및 DYLD_FALLBACK_LIBRARY_PATH

import pymc as pm 
with pm.Model() as model: 
    x = pm.Normal('x', mu=0., sd=1) 

결과 :

export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/Users/josh/anaconda/envs/py27/lib 

내 쉘 초기화 파일 :

Exception: The environment variable 'DYLD_FALLBACK_LIBRARY_PATH' does not contain the '/Users/josh/anaconda/envs/py27/lib' path in its value. This will make Theano unable to compile c code. Update 'DYLD_FALLBACK_LIBRARY_PATH' to contain the said value, this will fix this error.

나는 추가하여이 문제를 해결할 수 있었다 .bashrc. 그러나, 이것은 그 라인은 psycopg2 나누기, 내가 이해하지 못하는 부분이다 :

---> 50 from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID 
    51 
    52 from psycopg2._psycopg import Binary, Date, Time, Timestamp 

ImportError: dlopen(/Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: @loader_path/../../../libpq.5.dylib                         
    Referenced from: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/psycopg2/_psycopg.so 
    Reason: image not found 

어떻게 psycopg2pymc (여기 theano)을 가질 수 행복하게 함께 사는?

이것은 OSX에서 Python 2.7.6을 설치하고 Python 환경을 conda으로 만든 것입니다.

답변

7

Theano의 개발 버전은 DYLD_FALLBACK_LIBRARY_PATH를 변경할 필요가 없습니다. 따라서 변경 사항을 실행 취소하고 Theano 버전을 업데이트하십시오. 에서 :

http://www.deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions

실행 당신의 필요의 따라 그 두 명령 중 하나를

pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git --install-option='--prefix=~/.local' 
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git 

편집 : 나는 다른 답변에 대한 링크를 제거하고 여기에 대한 답을 복사. 감사합니다.

+1

링크가 항상 사용 가능하다는 보장이 없기 때문에 링크 전용 답변에 싫증이났습니다. SO는 Q & A 자료가 아니며 도움말 포럼이 아닙니다. 즉, 개인의 문제 해결을 돕는 것이 아니라, 응답은 미래의 검색 자에게 유용 할 수 있도록 자체 포함되어야합니다. –

+0

그 점을 이해합니다. 그러나 사용자가 두 곳에서 같은 질문을하고이 질문을하기 전에 답을 썼기 때문에 작업을 복제하고 싶지 않습니다. 이 경우 어떻게해야합니까? 대답하지 않니? 나는 이것이 똑같은 대답에 대한 최악의 결과라고 생각한다. 나는 일반적으로 링크가 신뢰할 수 없다는 데 동의하지만 구글 그룹에있는이 URL은 평균 URL보다 더 안정적이다. 나는 아직도 내가 그 일을해야한다고 제안하는 것을 배우고 싶다. 귀하의 의견에 감사드립니다. – nouiz

+0

나는 SO에 대답하면 SO에 대한 완전한 대답을 게시해야한다고 제안합니다. 다른 사람의 답변에 연결하는 경우 요약을 제공하십시오. 자신의 답변에 연결하는 경우 대신에 복사 할 수 있습니다. 두 곳에서 해를 끼치는 데 아무런 해가 없습니다. 실제로,이 방법은 "내결함성"이 더 강합니다. 만약 당신이 쓴다면, Google 그룹은 저작권을 소유하지 않습니다. 그리고, FWIW, 링크 만 응답 upvotes을 얻는 경향이 있으며, 종종 혼자 그 이유에 대한 downvotes 그립니다. –