PyDevのInteractive ConsoleのPreferences
Window ー> Preferences。
PyDev ー> Interactive Console。
Connect console to a Debug Session?にチェックをつけるとPyDevエディタで張ったブレークポイントでブレークすることができます。
Enable GUI evnet loop integration?はデフォルトではNo GUI Enabled On Startup(none)になっています。
チャートは別ウィンドウで表示されました。
PyQt5(qt5)とTkinter(tk)以外を選択するとエラーがでてきました。
Tkinter(tk)を選択するとデフォルトと同じ結果でした。
PyQt5(qt5)を選択するとチャートは表示されずにフリーズしたウィンドウが表示されます。
これはPyDevがPyQt5を指定しているのにmatplotlibはtk(TkAGG)でレンダリングしようとしているのが原因のようです。
backendの変更 - 非公式Matplotlib Wiki
このページにmatplotlibのレンダリング方法の変更する方法が書いてあります。
matplotlibrcは/etc/matplotlibrcにありました。
matplotlibrcを読むとPyQt4はQT_API=pyqtを渡せばよいのですが、QT_API=pyqt5は無視するようです。
PyDevはQT_API=pyqtとQT_API=pyqt5を理解できます。
今回はmatplotlibだけでPyQt5を使いたいので、PyDevではNo GUI Enabled On Startup(none)にしたままでmatplotlibのみでPyQt5を指定します。
import matplotlib as mpl mpl.use('Qt5Agg') import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 5, 10) y = x ** 2 plt.figure() plt.plot(x, y, 'r') plt.xlabel('x') plt.ylabel('y') plt.title('title') plt.show()最初の2行でbackendをPyQt5を指定しています。
tkのときと比べてツールバーのボタンが増えています。
PyDevのInteractive ConsoleでIPythonを使う
PyDev Releases
以前はIPythonがインストールされていれば自動的にPyDev ConsoleはIPythonになっていたようですが、Release 7.1.0 (2019-02-03)よりIPYTHONENABLE=Trueを渡さないとIPythonを使わないようになっています。
~/.p2/pool/plugins/org.python.pydev.core_7.2.1.201904261721/pysrcにあるpydevconsole.pyを読むとBy default, don't use IPython because occasionally changes in IPython break pydevd.と理由が書いてありました。
とりあえずPyDev 7.2.1、IPython 5.5.0の組み合わせではPyDevは壊れないようです。
IPythonはmuonでインストールしたpython3-ipythonです。
ランチャの起動コマンドにIPYTHONENABLE=Trueというワンタイムオプションを追加しました。
EclipseでWindow ー> Show View ー> Console。
Open ConsoleボタンからPyDev Console。
Python console。
InterpreterはIPythonへのパスが通っているものを選択します。
プロンプトはPyDev Consoleから変化はしていませんが、出力にOut[1]とか番号がついてきます。
PyDev ConsoleはもともとTabキーで補完できるので、IPythonを使うメリットはマジックコマンドが使える、という程度でしょうか。
%editでエディタとしてEclipseが指定されています。
%matplotlib inlineはエラーになって使えません。
デフォルトではtkウィンドウでチャートが表示されました。
0 件のコメント:
コメントを投稿