2011-09-04

Eclipse と virtualenv で App Engine アプリを開発する設定


Emacs で Google App Engine 触っているのですが、もういい加減に IDE 使おうと思いました。Wing IDE、Komodo IDE、PyCharm あたりを考えたのですが、(ここでビール3杯をはさんだのでロジックは忘れたが) Eclipse だろうとなりました。で、ちょっとはまったので、メモです。

前提

  • Mac OS X (Lion)
  • Google App Engine Launcher を使う。
  • プロジェクトごとに virtualenv 環境を用意する。
インストール手順

  1.  (したければ)Python をインストールする。(homebrew の 2.7)
  2. App Engine Launcher をインストールする。(1.5.3)
  3. Eclipse をインストールする。(3.7.0)
  4. PyDev をインストールする。(2.2.2.2011082312)

プロジェクト作成手順

  1. [File]-[New]-[Other…]- [PyDev の下の PyDev Google App engine Project] を選択して [Next]
  2. [User default] のチェックをはずす
  3. Directory にソースコードがあるディレクトリを指定 e.g. /Users/bucho/show
  4. Interpreter が空欄なので「Click here to configure an interpreter not listed」 をクリック
  5. [New] をクリックして適当な名前にする。e.g. python2.5@show
  6. PYTHONPATH に追加すべきディレクトリが出てきます。デフォルトでチェックがはいっている項目に加えて、virtualenv の Python がもともと参照している /lib ディレクトリにもチェックします。例えば homebrew でインストールした Python 2.7 なら、/user/local/Celler/python/2.7/lib/python2.7 とか。(2011-09-04 追記)
    いろいろと PYTHONPATH に追加すべきディレクトリが出てくるけどデフォルトでOK。
  7. ターミナルで、echo $PATH した値をコピー
  8. [Environment] タブをクリック、New ボタンをクリックして、Name に「PATH」、Value 欄にさっきのをペースト。(私の環境で必要だったのは /usr/local/bin です。めんどいので全部ペーストしました)。
  9. [Finish]ボタンをクリック
  10. App engine の場所を聞いてくるので「/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine」 を指定する。
  11.  [Django0.97] にチェック。
補完が...

これでいちおう動くんだけど、標準ライブラリの import 文なんかを、resolve できない。たとえば import unittest だと、下みたいになります。



コードは動くけど、補完してくれなくて、それじゃあ何のために IDE 使ってんだよって話です(Emacs でも補完とかできるんでしょうけど、.emacs とか無理っす)。

  1. [Eclipse]-[環境設定]-[PyDev]-[Interpreter]-[Python] を選択
  2. インタプリタ設定を選択してから、「Forced builtin」を選択。
  3. [New] ボタン → 「unittest」と入力する。

これが正しいやりかたなのか、まったく分からないわけですが、とりあえずこれで様子見です。