対話型ウィンドウで IPython を使用する

Visual Studio の IPython モードの対話型ウィンドウは、対話型の並列コンピューティング機能を備えた、高度でありながら使いやすい対話形式の開発環境です。 この記事では、Visual Studio の対話型ウィンドウで IPython を使用する手順について説明します。IPython でも、通常の対話型ウィンドウ機能をすべて使用できます。

このチュートリアルでは、IPython、numpy、および matplotlib をインストールする必要があります。 Anaconda を使用している場合、これらのライブラリは既にインストールされています。 このチュートリアルの残りの部分は、Anaconda を使用していることを前提としています。

Note

Interactive オプション フォームで選択できるにもかかわらず、IronPython では IPython はサポートされていません。 詳細については、機能要求のページを参照してください。

  1. Visual Studio を開き、Python 環境ウィンドウに切り替え ([表示]>[その他のウィンドウ]>[Python 環境] の順に選択)、Anaconda 環境を選びます。

  2. その環境の [パッケージ (Conda)] タブ (pip またはパッケージ と表示される場合があります) を調べ、ipythonmatplotlib が一覧表示されていることを確認します。 表示されていない場合は、それらをここでインストールします。 (「[Python 環境] ウィンドウ タブ リファレンス」を参照)。

  3. [概要] タブを選択し、[IPython 対話モードを使用する] を選びます (Visual Studio 2015 では、[Configure interactive options]\(対話オプションの構成\) を選択して [オプション] ダイアログを開き、[インタラクティブ モード]IPython に設定し、[OK] を選びます)。

  4. [対話型ウィンドウを開く] を選択して、対話型ウィンドウを IPython モードで表示します。 対話型モードを変更した直後には、ウィンドウのリセットが必要な場合があります。また、>>> プロンプトのみが表示されている場合は、Enter キーも押す必要がある場合があります。これで In [2] のようなプロンプトが表示されます。

    The interactive window in IPython mode

  5. 次のコードを入力します。

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 5, 10)
    y = x ** 2
    plt.plot(x, y, 'r', x, x ** 3, 'g', x, x ** 4, 'b')
    
  6. 最後の行を入力した後、インライン グラフが表示されます (必要であれば、右下隅をドラッグしてサイズを変更できます)。

    Inline graph in the interactive window

  7. REPL で入力する代わりに、エディターでコードを記述し、それを選んで右クリックして、[Interactive に送信] コマンドを選択する (または Ctrl+Enter キーを押す) ことができます。 以下のコードをエディターの新しいファイルに貼り付け、Ctrl+A キーを使って選択し、対話型ウィンドウに送信してみてください (中間のグラフや部分的なグラフが表示されないように、Visual Studio からはコードが 1 つの単位として送信されます。また、別の環境で開いた Python オブジェクトを選択していない場合、[Python 環境] ウィンドウの既定としてどの環境が選択されている場合でも、Visual Studio では対話型ウィンドウが開きます)。

    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.pyplot as plt
    import numpy as np
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
        xs = np.arange(20)
        ys = np.random.rand(20)
        # You can provide either a single color or an array. To demonstrate this,
        # the first bar of each set is colored cyan.
        cs = [c] * len(xs)
        cs[0] = 'c'
        ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8)
    
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    plt.show()
    

    Sending code from the editor to the interactive window

  8. 対話型ウィンドウ以外にグラフを表示するには、[デバッグ]>[デバッグなしで開始] コマンドを使用してコードを実行します。

IPython には、システム シェルのエスケープ、変数の代入、出力のキャプチャなどの便利な機能が多数あります。詳細については、IPython のドキュメントを参照してください。

  • Azure Data Science Virtual Machine は、他のさまざまなデータ サイエンス ツールと共に Jupyter ノートブックを実行するように事前に構成されています。