
우리 학생들을 위한 가상 개발/연구 클라우드 환경을 구축하려고 합니다. 학생들은 로그인하고, Python IDE를 실행하고, 숙제를 위해 몇 가지 그래프를 그릴 수 있어야 합니다.
우리는 Python과 IDLE ide가 설치된 64비트 Ubuntu 12.10을 실행하고 있습니다. 학생들은 ssh -X를 사용하여 로그인하고 GUI 창을 생성하는 IDLE을 시작합니다.
문제: IDE에서 이와 같은 것을 실행하는 중
nltk.download()
새 창이 생성됩니다.하지만우리가 다음과 같은 것을 시도할 때:
book2.dispersion_plot("chair")
아무 반응이 없습니다, 새 창이 생성되어 플롯을 표시할 것으로 예상됩니다(로컬 시스템에서 발생하는 일입니다). 나는 이것이 X11과 관련이 있다고 생각하지만 현 시점에서 나는 시스템 관리 지식의 깊이에서 한참 벗어났습니다. Mac(xQuartz) 및 PC(xming) 클라이언트 모두에서 이를 확인했습니다. 어떤 도움이라도 주시면 감사하겠습니다.
답변1
알았어요.
matplotlib는 x11에서 잘 작동해야 하는 렌더링 백엔드를 사용합니다. 그러나 올바른 백엔드를 수동으로 선택하면 [matplotlib.use('TkAgg')] 예외가 발생합니다. matplotlib는 pip를 사용하는 우분투에서 올바르게 빌드되지 않고 일부 종속성, 특히 x11 친화적 백엔드에 필요한 종속성이 누락된 것으로 나타났습니다(matplotlibrc에서 기본값을 'Agg'로 설정). 해결 방법:
pip uninstall matplotlib //unistall matplotlib
apt-get build-dep matplotlib //download and build needed dependencies
pip install -U matplotlib //force matplotlib rebuild
위의 내용은 기본 백엔드를 TkAgg(matplotlibrc에서)로 올바르게 설정합니다. 누군가에게 도움이 되길 바랍니다!