Python 開発用に Eclipse を設定して Google App Engine でデバッグする

Eclipse と PyDev プラグインを使用して、ローカルで開発とデバッグを始めましょう。この設定を使用すると、デバッグモードの App Engine アプリをローカルで実行できます。また、Eclipse の Debug パースペクティブを使用してブレークポイントを設定したり、コードをステップスルーしたりすることができます。PyDev プラグインは、スターター プロジェクトの作成やアプリのデプロイなどの App Engine と連携するためのヘルパー機能を提供します。

始める前に

  1. Python がまだインストールされていない場合には、Python 2.7 をインストールします。わからない場合には、ここをクリックしてください。
  2. SDK のダウンロード ページの [オプション] セクションから、Python 用 App Engine SDK のオリジナル版をインストールします。

Python のバージョンを確認する

インストールされている Python のバージョンを確認するには、次のコマンドを実行します。

python --version

Eclipse をインストールする

以下では、Eclipse Neon(4.6)をベースにした Eclipse IDE for JavaScript and Web Developers をインストールします。インストールを簡単に行うため、Eclipse Installer を使用します。

  1. Eclipse Installer をインストールします。
  2. Eclipse Installer で、Eclipse IDE for JavaScript and Web Developers パッケージを選択して [Install] をクリックします。

    Eclipse Installer で Eclipse をインストールする

  3. インストールが完了したら [Launch] をクリックします。

  4. Eclipse が起動したら、ワークスペースの場所を指定するか、デフォルトの設定を使用します。

PyDev をインストールする

Eclipse のインストール後、Python IDE として Eclipse を使用できるように、PyDev プラグインをインストールする必要があります。

  1. Eclipse で、[Help] > [Eclipse Marketplace] の順にクリックします。
  2. [Find] フィールドに PyDev を指定します。

    Eclipse マーケットプレイスで PyDev を検索し、インストールします。

  3. [Install] をクリックして、インストール ウィザードを完了します。

  4. プロンプトが表示されたら Eclipse を再起動します。

プロジェクトを設定する

  1. 新しいプロジェクトを作成します。[File] > [New] > [Project] の順に選択します。

  2. [Select a wizard] ページで [PyDev Google App Engine Project] を選択します。

    Pydev プロジェクト ウィザードを選択します。

  3. [PyDev Project] ページで、プロジェクト名を入力します。[Please configure an interpreter before proceeding] をクリックして、Eclipse をデフォルトのインタープリタとして設定します。

    Eclipse が Python 2.7 インタープリタを検出できない場合には、[Click here to configure an interpreter not listed] リンクをクリックして、インタープリタを設定します。

  4. [Google App Engine] ページで [Browse] をクリックして、App Engine SDK がインストールされているディレクトリを探します。ディレクトリの場所に関してはこちらをご確認ください。

    プロジェクトの作成時に App Engine SDK の場所を指定します。

  5. [Next] をクリックして基本プロジェクトの設定を続けるか、[Finish] をクリックして空のプロジェクトで開始します。

  6. プロジェクトを構成する場合は、プロジェクト ID を指定します。プロジェクト ID を表示するには、GCP Console に移動します。まだプロジェクトを登録していない場合は、プロジェクトの app.yaml ファイルに挿入される一時的な名前を指定できます。必要であれば、この名前を後で変更できます。
  7. スターター テンプレートを選択します。推奨: Hello World テンプレートを使用して、app.yaml ファイルと Python のサンプル スクリプトを生成してください。選択したフレームワーク(Flask、Django など)で開発を行うことができます。

    注: PyDev スターター プロジェクトは古いため、Python 2.5 webapp モジュールを使用します。

SDK のデフォルトの場所

macOS
SDK を Google App Engine Launcher と一緒にインストールしている場合には、Launcher の起動時にシンボリック リンクを作成するように指示されます。シンボリック リンクが作成されている場合、デフォルトの場所は次のようになります。
/usr/local/google_appengine
シンボリック リンクを作成していない場合、デフォルトの場所は次のとおりです。
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
Linux
ダウンロードした SDK zip ファイルが解凍された場所。
Windows
C:\Program Files (x86)\Google\google_appengine\</pre>
      

ライブラリをインストールして Eclipse に認識させる

プロジェクトを設定したら、コードで使用するライブラリを選択します。ライブラリをプロジェクトにインポートし、このライブラリを読み込むようにプロジェクトを設定する必要があります。さらに、このライブラリを使用するように Eclipse に指示する必要があります。

インポートしたライブラリを Eclipse に認識させるには:

  1. ライブラリをプロジェクトにインポートします。
  2. Eclipse プロジェクトのプロパティを編集します。プロジェクトを右クリックして、[Properties] を選択します。
  3. ダイアログのナビゲーション ペインで [PyDev - PYTHONPATH] を選択します。
  4. ライブラリをプロジェクトの子フォルダ(例: lib\)で管理している場合には、[Add source folder] をクリックします。

Eclipse が指定のライブラリを Python のパスに追加し、インポートの参照を解決します。

デバッグモードでアプリを起動する

Eclipse のデバッグモードでアプリを実行すると、コード内にブレークポイントを設定できます。該当する行が実行されると処理が一時的に停止するため、コードを検査してステップスルーできます。この機能はアプリの開発時に便利です。

デバッグを設定する

アプリをデバッグモードで初めて実行すると、デバッグの設定が生成されます。この設定はそのまま利用することも、変更してビルドにパラメータを追加することもできます。

  1. プロジェクト エクスプローラでプロジェクト名を右クリックして、[Debug As] > [PyDev: Google App Run] の順に選択します。

    コンソール ビューが開き、開発サーバーのシステム出力が表示されます。アプリが実行されている URL などが表示されます。

  2. コンソールに表示された URL に移動し、アプリが実行されていることを確認します。デフォルトでは、アプリは http://localhost:8080 から実行されます。Hello World スターター テンプレートを使用している場合には、「Hello, world!」がブラウザに表示されます。

これで Eclipse がデバッグモードに切り替わりました。Eclipse を終了した場合またはデバッガを停止して再起動した場合、作成済みのデバッグ設定を再度実行することができます。

ブレークポイントを設定してコードをステップスルーする

デバッガが実行中になりました。ブレークポイントを設定し、設定したブレークポイントを使ってコードの実行をステップスルーできます。

  1. Open a file in your Eclipse プロジェクトでファイルを開きます(スターター テンプレートを使用している場合には helloworld.py)。

  2. ブレークポイントを設定するコードの横にある行番号を右クリックして、[Add Breakpoint] を設定します。

    Eclipse で行番号を右クリックしたときに表示されるコンテキスト メニュー

    ブレークポイントを設定した行に緑色の円が表示されます。

  3. ブラウザに戻って URL を開き、ブレークポイントを設定した行を実行します。ブレークポイントがトリガーされると、Debug パースペクティブに切り替えるように指示されます。

  4. Debug パースペクティブへの切り替えが指示されたら [Yes] をクリックします。このパースペクティブには、[Variables] ビューなど、デバッグ固有のビューが表示されます。

    デバッグモードの Eclipse IDE のスクリーンショット。さまざまなデバッグビューが表示されています。

    [Variables] ビューで、コードに現在定義されているオブジェクトと変数を確認できます。

    メニューバーのボタンを使用すると、次の操作を実行できます。

    • 実行継続のアイコン 次のブレークポイントまで、あるいは最後の行まで実行を続行します。
    • 実行継続のアイコン 下位レベルのコード(メソッドなど)にステップインします。
    • 行単位で実行するアイコン 現在のコードを下位レベルのコードではなく、行単位で実行します。
    • 上位レベルのコードに戻るアイコン 上位レベルコードに戻ります。下位レベルのコードにステップインしても、下位レベルのコードが完了する前に上位レベルのコードに戻り、呼び出し側のコードに戻ることもできます。
    • 実行終了のアイコン 実行を終了します。
    • 残りのブレークポイントをスキップするアイコン 残りのブレークポイントをスキップします。
  5. 続行アイコン(続行アイコン)をクリックして処理を続行し、開発用サーバーから "Hello, World!" レスポンスをブラウザに送信します。

デバッグ完了後に PyDev パースペクティブに戻るには、[Window] > [Perspective] > [Open Perspective] の順に選択して [Pydev] を選択します。あるいは、Eclipse の右上隅にある PyDev のアイコンをクリックします。

Eclipse でパースペクティブを切り替えるためのアイコンが表示されます。

Eclipse からアプリをデプロイする

Eclipse の PyDev プラグインを使用すると、ワークスペースからアプリをデプロイできます。

  1. Google Cloud Platform Console を使用して、Google Cloud Platform プロジェクトをセットアップします。

    GCP プロジェクトを選択または作成し、App Engine アプリケーションが含まれていることを確認します。

    App Engine に移動

    プロジェクトに App Engine アプリケーションが存在する場合には、ダッシュボードが開きます。存在しない場合には、App Engine アプリケーションを配置するリージョンを選択するように指示されます。

    ヒント: プロジェクトの ID がアプリの URL の一部になります。例: http://[YOUR_PROJECT_ID].appspot.com

  2. Eclipse で、app.yaml ファイルを編集し、application 要素の値を GCP プロジェクト ID に変更します。

  3. PyDev パッケージ エクスプローラまたはプロジェクト エクスローラで、プロジェクト フォルダを右クリックし、[PyDev Google App Engine] > [Upload] の順に選択します。

    プロジェクトを右クリックしたときに表示されるコンテキスト メニューの画像。メニューを使用すると、App Engine の PyDev アップロード オプションが表示されます。

    App Engine SDK 管理コマンドを初めて使用した場合、App Engine アプリケーションを変更できるように、ツールへのアクセスを SDK に許可します。[Allow] をクリックします。

    「The authentication flow has completed」というメッセージが表示されたらブラウザを終了し、Eclipse に戻ります。

  4. [Manage Google App Engine] ダイアログで、アプリケーションが正常にアップロードされていることを確認します。

    アップロード手順と成功を確認するダイアログのスクリーンショット

  5. http://[YOUR_PROJECT_ID].appspot.com に移動します。アプリケーションのトラフィックを確認できます。

次のステップ

これで開発環境の設定が終了しました。次のトピックを参照して、App Engine の使い方を学習してください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境