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

Visual Studio の IPython モードの対話型ウィンドウは、対話型の並列コンピューティング機能を備えた、高度でありながら使いやすい対話形式の開発環境です。 この記事では、Visual Studio の対話型ウィンドウで IPython を使用し、標準の対話型ウィンドウ機能にアクセスする方法について説明します。

前提条件

Note

Interactive オプション フォームで選択はできるものの、IronPython では IPython はサポートされていません。 詳細については、機能リクエスト (Interp が IronPython の場合に IPython をサポートする) を参照してください。

対話型ウィンドウの使用

次に、対話型ウィンドウで IPython コマンドを使用する方法を、順を追って説明します。 このチュートリアルは Anaconda の使用を前提としています。

  1. Visual Studio で [表示]>[その他のウィンドウ]>[Python 環境] の順に選択し、[Python 環境] ウィンドウを開きます。

  2. [Python 環境] ウィンドウで、Anaconda 環境を選択します。

  3. 環境を [パッケージ] ビューに切り替えて、インストールされているパッケージを表示します。 ドロップダウン メニューで、[パッケージ (Conda)] を選択します。 メニュー オプションは、「pip」または「パッケージ」という名前になっている場合があります。

  4. 環境に ipython ライブラリと matplotlib ライブラリがインストールされていることを確認します。

    いずれのライブラリもインストールされていない場合は、「チュートリアル: Visual Studio の Python 環境にパッケージをインストールする」の手順に従います。 詳細については、「[Python 環境] ウィンドウ - [パッケージ] タブ」を参照してください。

  5. 環境の [概要] ビューに切り替え、[IPython 対話モードを使用する] オプションを選択します。

  6. [対話型ウィンドウを開く] を選択して、IPython モードで対話型ウィンドウを表示します。 ウィンドウが既に開いている場合は、ウィンドウのリセットが必要になる場合があります。

  7. 対話型ウィンドウが開いたら、最初のプロンプトである In [1] が表示されます。 標準のプロンプト >>> が表示されたら、プロンプトの後に Enter を押し、ウィンドウで IPython モードが使用されていることを確認します。 プロンプトは In [2] のように変更されます。

    Visual Studio の IPython モードで対話型ウィンドウを示すスクリーンショット。

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

    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')
    
  9. コードの最後の行を入力した後で Enter キーを押すと、インライン グラフが表示されます。

    Visual Studio の IPython モードで対話型ウィンドウにインライン グラフが表示されたスクリーンショット。

    右下隅をドラッグするとグラフのサイズを変更できます。

  10. 対話型ウィンドウに直接コードを入力するのではなく、Visual Studio エディターでコードを記述し、対話型ウィンドウに送信できます。

    1. 次のコードをエディターの新しいファイルに貼り付けます。

    2. キーボード ショートカット Ctrl+A を使用して、エディターでコードを選択します。

    3. 選択したコードを右クリックし、[対話型に送信] を選択します。 キーボード ショートカット Ctrl+Enter を使用することもできます。

    Visual Studio はグラフが中途または部分的になるのを回避するため、コードを 1 つのブロックとして対話型ウィンドウ に送信します。

    (特定のアクティブな環境で開いた Python オブジェクトがない場合、Visual Studio では[Python 環境] ウィンドウにリストされている既定の環境の 対話型ウィンドウが開きます)

    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()
    

    Visual Studio エディターから対話型ウィンドウに、コードを送信する方法を示すスクリーンショット。

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

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