2016-08-16 7 views
3

pyenvとPython v2.7.12を使ってインストールしました。問題なくPythonでのmatplotlibバックエンドの変更virtualenv

pip install matplotlib 

:このvirtualenvの内部では、私は経由matplotlib V1.5.1をインストールしました。問題は、単純なプロットウィンドウを生成できないということです。私が使用してvirtualenvの中で見たバックエンド:

import matplotlib 
print matplotlib.rcParams['backend'] 

aggで、明らかに問題の根本的な原因です。システム全体のインストールでバックエンドをチェックすると、Qt4Agg(上記のスクリプトは実行時にプロットウィンドウが正常に表示されます)が表示されます。

すでにSOにはいくつかの類似の質問があります。すべての解決策を試しました。

  1. Matplotlib plt.show() isn't showing graph

    --system-site-packagesオプションでvirtualenvのを作成しようとしました。立ち入り禁止。次いでpip --no-cache-dir install -U --force-reinstall matplotlibを使用して再インストールsudo apt install tk-devをインストール

  2. How to ensure matplotlib in a Python 3 virtualenv uses the TkAgg backend?

    。バックエンドはまだaggと表示されます。 this answerの指示をインストール続い

  3. Matplotlib doesn't display graph in virtualenv

    は、ここに与えられた解決策がにある

  4. matplotlib plot window won't appear

    (他の答えはどのI will not doeasy_installを使用することを含む)何もしなかった「のインストールGUIライブラリ(Tkinter、GTK、QT4、PySide、Wxのいずれか) "。私はこれをする方法を知らない。私が使用している場合はさらに、:

    import matplotlib.rcsetup as rcsetup 
    print(rcsetup.all_backends) 
    

    私が取得:

    これらすべてのバックエンドが私のシステムで利用可能であることを意味
    [u'GTK', u'GTKAgg', u'GTKCairo', u'MacOSX', u'Qt4Agg', u'Qt5Agg', u'TkAgg', u'WX', u'WXAgg', u'CocoaAgg', u'GTK3Cairo', u'GTK3Agg', u'WebAgg', u'nbAgg', u'agg', u'cairo', u'emf', u'gdk', u'pdf', u'pgf', u'ps', u'svg', u'template'] 
    

    (?)。

  5. matplotlib does not show my drawings although I call pyplot.show()

    matplotlibrcファイルには、行を示しています

    backend  : Qt4Agg 
    

    私はこれのvirtualenvのを認識させる方法がわかりませんか?

ソリューションのいくつかは、私がやりたいしない、matplotlibherehere)のシステムバージョンへのリンクを作成伴います。virtualenvにインストールされているmatplotlibのバージョンを使用したいと思います。

私はバックエンドを設定しようとした場合:

import matplotlib 
matplotlib.use('GTKAgg') 

私は(GTKと同じ)ImportError: Gtk* backend requires pygtk to be installedを取得します。しかし、もし私がsudo apt-get install python-gtk2 python-gtk2-devをしたら、彼らは両方ともインストールされていることがわかります。

使用:ImportError: Matplotlib qt-based backends require an external PyQt4, PyQt5, or PySide package to be installed, but it was not found.

import matplotlib 
matplotlib.use('Qt4Agg') 

(またはQt5Agg)の結果、私はいくつかのパッケージをインストールする必要がある場合はわかりませんか? ImportError: No module named _tkinter

import matplotlib 
matplotlib.use('TkAgg') 

結果を、しかしsudo apt-get install python-tkは、それがインストールされていることを述べている:

使用。

使用:

import matplotlib 
matplotlib.use('GTKCairo') 

結果ImportError: No module named gtkインチだから私はsudo apt-get install libgtk-3-devを試していますが、それはすでにインストールされていると言います。

私のシステムで使用しているのと同じバックエンドをvirtualenvで使用するにはどうすればよいですか?あなたは次のことを実行することにより、Pythonの2 virtualenvの中でTkAggにバックエンドの変更を検討することができます

+0

バックエンドを手動で設定する明白な回避策を試しましたか? [このような](http://stackoverflow.com/a/20249447/5067311)。 –

+0

@AndrasDeak最新の回答をご覧ください。 – Gabriel

+0

[少なくともtkinterはインストールされているはずです。](http://stackoverflow.com/a/20075485/5067311)さて、かなり奇妙です。残念ながら、私はvirtualenvsについて何も知らないので、私はこの点を超えて助けることはできません。 –

答えて

3

sudo apt install python-tk # install Python 2 bindings for Tk 
pip --no-cache-dir install -U --force-reinstall matplotlib # reinstall matplotlib 

をバックエンドを確認するには確かにTkAggあり、

python -c 'import matplotlib as mpl; print(mpl.get_backend())' 

を実行すると、あなたはTkAggが表示されます。

+1

それは完全に働いた。非常にedwinskiありがとう! – Gabriel

+0

私はconda環境でこれを行うにはいくつかの助けが必要です。私は 'GTKAgg'バックエンドに変更したいのですが、私のconda env pygtkがインストールされていますが、まだ 'Gtk *バックエンドにpygtkがインストールされている必要があります 'というエラーがあります。 matplotlibを再インストールしても問題ありません。 – Jason

+0

@Jasonこの回答はコンドーム環境には適用されない可能性があるので、新しい質問をすることをおすすめします。 – edwinksl

関連する問題