2017-07-16 26 views
1

にはTkinterという名前のモジュール私が輸入を以下しているPythonコードを持っている:Amazon EC2のCentOSの

from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt

それは内部的にtkinterを呼び出します。私はAmazon EC2サーバーにCentOSを使用しています。 OSはヘッドレス(GUIなし)なので、tkinterをインストールすることはできません。 This link seems to be solutionですが、Debian OS用であり、CentOSでは動作しません。

this linkを参照してデスクトップをインストールしようとしましたが、それも機能しません。 "警告:グループGNOMEデスクトップが存在しません"という警告が表示されます。私はあなたがすべてでGUIをしたいが、matplotlibのは、サーバー上の画像を生成させないと仮定すると、コマンドにyum -y groups install "GNOME Desktop"

答えて

5

を実行したときに、次のように役立つかもしれない:

をインタラクティブな要素ずにバックエンドを使用してのTkinterを必要とすべきではありませんまったく存在する。呼ばれる、画像ファイル(PNG、SVG、PDF、PSを行うためのユーザインタフェースのバックエンド[...]とハードコピーバックエンド:2つのバックエンドの種類があります

documentationから

"非インタラクティブバックエンド")。 (また、上記のリンクから取られた)バックエンドを設定する

二つの方法:

  1. あなたmatplotlibrcファイル内のバックエンドパラメータ(Customizing matplotlibを参照してください):内部

    backend : Agg 
    
  2. スクリプト

    import matplotlib 
    matplotlib.use('Agg') 
    

    use()関数を使用する場合は、matplotlib.pyplotをインポートする前にこれを行う必要があります。

可能な非対話型バックエンド:

enter image description here