2012-01-29 13 views
16

私はvirtualprovにpipをインストールしました。私は単純なグラフをプロットしようとしています。私はEclipseとPyDevを使用しています。 Eclipseからスクリプトを実行すると、グラフが表示されません。私はplt.ion()を追加するなどの他の質問で提案された提案を試しましたが、どちらもうまくいきません。私もコンソールで同じコードを試してみましたが、もう一度何もしませんでした。これは私の設定に問題がありますか?どうすればいいですか?Matplotlibはvirtualenvにグラフを表示しません

失敗コードは、次のとおり

import matplotlib.pyplot as plt 
    radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0] 
    area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724] 
    plt.plot(radius, area) 
    plt.show() 

コードは問題ではありません。それはvirtualenvからうまく動作します。問題は私がvirtualenvでそれを使うときです。問題は何とか私の設定に関係しています。そして物事をクリアするために、私は何のエラーメッセージも受け取りません。ウィンドウが表示されないことだけです。

おかげ

+0

編集のおかげで – joaquin

+1

に失敗したコードの表示を開始することができます。私が今理解できる限り、あなたの質問は何らかの誤解を招くもので、問題が(また)pydevであることを示すようです。 eclipse-pydevを問題(おそらくコンソールやpydevの代わりに実行している)として破棄することができたら、タイトルとタグを修正してvirtualdevでpydevを変更する必要があります。これは適切な人々が質問を見るのを助けるでしょう。 – joaquin

+0

どのように失敗しましたか?エラーメッセージはありますか? –

答えて

9

あなたのコードは、Python 2.7とOSX 10.7上で私のvirtualenvの内部で動作します:

enter image description here

あなたはvirtualenvの内部で使用しているのPythonのバージョンは何?私の推測では、matplotlib依存関係をインストールしていないか、またはインストールされている依存関係のインストールが正しく実行されなかったかのいずれかです。 Python 2.7では、ここでmatplotlibをインストールしました。あなたは新しいvirtualenvでこれらの手順を試して、それがあなたのために働くかどうか確認できますか?

pip install numpy 
pip install scipy 
easy_install matplotlib 
+1

私はこれを試してみます(numpyとscipyをインストールしましたが)。なぜ、あなたは、matplotlibとpipのためにeasy_installを使ったのですか? –

+0

私は過去にpipでmatplotlibをインストールしたときに問題がありました。 – drbunsen

+0

ちょっと..it働いた:) :)すべての問題は、私はeasy_install matplotlibをインストールするために使用していないということでした。明らかにピップに問題があります!答えをありがとう! –

6

まず第一に、あなたがチェックアウトする場合があります

http://matplotlib.org/faq/installing_faq.html#matplotlib-compiled-fine-but-nothing-shows-up-when-i-use-it

を間違って何が起こっているかを確認するには、代わりにPIPやeasy_installをいずれかのgitのを使用してmatplotlibのをチェックしてください。

git clone [email protected]:matplotlib/matplotlib.git 
cd matplotlib 
python setup.py 

これは、pipまたはeasy_installの設定を表示します。 「オプションのバックエンド依存性」を見て、ウィンドウを生成するもの(Tkinter、Gtk +、Mac OS Xネイティブ、Qt、Cairoなど)が有効であることを確認してください。これらのどれも利用できない場合は、matplotlibのインストールを続行する前に、オペレーティングシステム用のこれらのライブラリの一部をインストールする必要があります。

(Ubuntuの上:sudo apt-get install tcl-dev tk-dev)たとえば、Tkのをインストールしたら、再実行時に

python setup.py 

あなたはTkのバックエンドが有効があることがわかります。

python setup.py build && python setup.py install 

を実行する必要があります。その時点で、git cloneディレクトリ全体を削除してpipでインストールすることもできます。

+0

それは私のために働いた。私はpipでインストールし、easy_installではインストールしません。 – jgomo3

+0

私の環境では、魔法のように、グローバルmatplotlibパッケージはTkAggをうまく使っていましたが、 'tcl-dev'も' tk-dev'もインストールされていませんでした。問題を解決した解決。 'easy_install'と' pip'を使っても何もしませんでした。しかし、Tk/Tclパッケージをインストールする前に、私のvirtualenv setupはTk pythonモジュールを使用してウィンドウを描画することができました... –

+0

virtualenvs内のtclに関する問題は文書化されていますが、まだ修正されていないようです。 [this ticket for virtualenv](https://github.com/pypa/virtualenv/issues/93)を参照してください。基本的なpythonのインストールでTCLファイルへのパスを設定するために 'activate.bat'を修正することの提案は私のためにそれを修正しました。 – turtlemonvh

2

私のvirtualenvでmatplotlib 1.2.0を使用すると、私のコンピュータ上でUbuntu 12.04とPython 2.7.3を使用していますが、show()は1.2.1にアップグレードするまで機能しませんでした。私が以前に持っていたすべてのバグは去った...

pip install matplotlib 

またはそれをアップグレードします:

使用できるmatplotlibの最新バージョンを入手するには

sudo apt-get build-dep python-matplotlib 

:あなたはmatplotlibのすべての依存関係をインストールしますこれにより

pip install matplotlib --upgrade 
9

私は同じ問題を抱えていました。matplotlibをの代わりにがそれを解決しませんでした。最終的には、matplotlibがプロットのバックエンドを見つけられなかったという問題があることがわかりました。

私は(私は喘鳴のDebianを使用しています)次の操作を行って、それを解決:あなたのpythonのシステムのバージョンにインストールされてmatplotlibのバージョンを持っている場合は、あなたがのシステムバージョンにリンクすることができます

pip uninstall matplotlib 
sudo apt-get install tcl-dev tk-dev 
pip install matplotlib 
+1

それはそれと同じくらい簡単でした! (標準のUbuntu 14.04 LTSで動作します) –

+0

これは簡単なOSXのソリューションですか? –

4

matplotlib。私のマシンでは、私は次のようでした:

cd $VIRTUAL_ENV/lib/python2.7/site-packages 
ln -s /usr/lib/pymodules/python2.7/matplotlib . 
ln -s /usr/lib/pymodules/python2.7/matplotlib-1.1.1rc . 

これはvirtualenvの中で動作するようになってmatplotlibのに伴う問題の多くを回避ますが(このマシンにはあまりにも悪くありません)matplotlibののシステムのバージョンを使用して、あなたが制限されます。

この方法では、--no-site-packagesを使用することもできますが、matplotlibを使用することはできます。

関連する問題