2012-08-12 5 views
2

이 질문을하기에 최적의 장소가 아닌 경우 사과드립니다.하지만 여기 누군가 도움을받을 수 있기를 바랍니다. 나는 약간의 gnuplot은 세이지 스크립트 내에서 직접 명령을 실행하려면,하지만 다음과 같은 오류 메시지가 얻을 :Sage에서 gnuplot을 사용하는 중에 오류가 발생하지만 일반 Python에서 정상적으로 작동합니다

dyld을 : 도서관이로드되지 : /opt/local/lib/libfreetype.6.dylib에서 참조 :/옵션/지방/빈 /의 gnuplot 이유 : 호환되지 않는 라이브러리 버전 :의 gnuplot 버전 14.0.0 이상이 필요하지만, libfreetype.6.dylib 버전을 제공 10.0.0

나는를 사용하려고하면이 메시지가 나타납니다

sage에서 gnuplotpy 인터페이스를 사용하거나, 현자에서 os.system ("gnuplot -e \"plot ('sin (x)') \ ""과 같은 것을 사용한다면). 그러나 동일한 os.system (...) 명령은 일반 파이썬에서 정상적으로 작동합니다. 많은 감사합니다.

+0

세이지 내부의 PATH와 파이썬 스크립트를 비교해보십시오. – jfs

+0

sage : sage : os.environ.get ('PATH') '/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage/local/Frameworks/Python.framework/Versions/2.5 /bin:/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage:/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage/local/bin:/ opt/local/bin :/opt/local/sbin :/usr/bin :/bin :/usr/sbin :/sbin :/usr/local/bin :/usr/texbin :/usr/X11/bin ' 일반 셸에서는/Applications/sage 디렉토리가 없어도 똑같은 것을 얻을 수 있습니다. – cjohnson

+0

참고로, http://ask.sagemath.org/ 및 sage-support 메일 링리스트에서 질문을 할 수 있습니다. –

답변

1

세이지는 PATH, LD_LIBRARY_PATH 등의 환경을 변경합니다. 이로 인해 세이지 내부에 설치되지 않은 바이너리를 실행하는 데 문제가 발생할 수 있습니다. 이런 이유로 쉘 명령 sage-native-execute을 제공하여 (대부분) 모든 변수를 다시 변경합니다. 다음을 시도해보십시오. 문제가 해결되었습니다.

os.system('''sage-native-execute gnuplot -e "plot('sin(x)')"''') 
+0

그랬어! 감사! – cjohnson

관련 문제