読者です 読者をやめる 読者になる 読者になる

DistributionNotFound: gcloud エラーの解決方法 - Eclipse と PyDev で Google App Engine 開発

DistributionNotFound: gcloud エラーの解決方法 - Eclipse と PyDev で Google App Engine 開発

Eclipse に PyDev をインストールして、Google App Engine のアプリケーションを開発していると、実行環境の設定に悩む。
Run Configurations (実行の構成)の中に、PyDev Google App Run という設定をする場所があるんだけど、ここに設定を作成して実行しても DistributionNotFound: gcloud が発生してアプリが起動できない。
めんどくさい 仕方ないので、コマンドで python -m main とかやってたのだが、いよいよ不便になってきたのでちゃんと解決方法を調べてみた。

Eclipse + PyDev による App Engine のアプリ開発環境

開発環境の作成は以下のような手順。いたって普通なんだけど・・・
1. Eclipse をここからダウンロードしてインストール
2. Help -> Install New Software ... (ヘルプ -> 新規ソフトウェアのインストール) 3. PyDev 配布元の URL http://pydev.org/updates を追加し、PyDevをインストール
4. Eclipse を再起動して、PyDev のプロジェクトを新規作成する
5. 4. の際に、実行となる python のパスを通して、同時に PYTHONPATH に取り込む Library を選択する

DistributionNotFound: gcloud エラーが発生

試しているのはこのtutorialに沿った、Google App Engine のアプリ開発。
最初の Hello World はできたのに、次のステップの Datastore を使う段階でこけた。

DistributionNotFound: gcloud エラーの原因は・・・

DistributionNotFound ってことは、gcloud パッケージの配置場所がパスに通ってないっぽい。PYTHONPATH の場所に pip install gcloud でインストールしているんだけど・・・
この前のように PyDev の問題でパスが通ってないのかな・・・
datalove.hatenadiary.jp

DistributionNotFound: gcloud エラーの解決方法

いろいろググったり公式ドキュメント読んでると、それらしいのを発見。サードパーティ ライブラリを使うときは、ローカルに lib みたいなディレクトリ作ってそこに pip でライブラリをインストール --> 更に appengine_config.py というファイルを作ってその中でパスを通すらしい。
appengine_config.py の中身は、こんな感じ。
gist.github.com
lib ってのが、プロジェクトのルート直下に作成したライブラリをインストールする場所。pip install gcloud -t lib でライブラリをインストールする。

最後に、Eclipse の PyDev から実行した時にも、lib にパスが通るように、対象のプロジェクトのルートのところで右クリック --> Properties --> PyDev - PYTHONPATH の Source Folders にさっきの lib を追加する。

DistributionNotFound: gcloud エラーの解決方法 参考リンク

stackoverflow にも似たようなケースありました。
stackoverflow.com