技術情報棚卸し(平日限定)

todoa2cの技術情報棚卸しです。平日限定ってことはアレだ。言わせんな恥ずかしい。

App Engine/Pythonでハマった初心者向けトラップ

早速いくつかトラップにハマりました。

requestsパッケージがApp Engineで動かない

App Engine/PythonはURL Fetch Python API Overview にあるように、標準ライブラリのurllib, urllib2, httplibであればそのままURL Fetchが使えました。

一方、GitHubのAPIを叩く際に使っていたgithub3.pyは 内部的にrequestsライブラリを使用しているわけですが、 このrequestsライブラリですと、App Engineでは動かないのです。 更にこのrequestsライブラリの中で使われているurllib3はApp Engine内で動くらしいのですが…動かず。無念。

結局他のGitHub APIライブラリを使用しました。

GoogleAppEngineLauncher.appアップデート後の罠

GoogleAppEngineLauncher.appアップデート後は、一度は起動しないと最新モジュールが 適用されないみたいです。 私はIntelliJ IDEAを使っており、そのIntelliJ IDEAが参照するgoogle_appengineフォルダは /usr/local/google_appengine ではなく、GoogleAppEngineLauncher.app内の結構深いところにある google_appengineフォルダを参照します。

で、GoogleAppEngineLauncher.app がアップデートされたあとは、この google_appengineフォルダが 見当たらないのです。その代わり、google_appengine.zip はある。 一度起動することにより、google_appengine.zipが解凍されて google_appengineフォルダが 作られる模様ですね。。。気づかんわこれ。

こちらからは以上です。

Comments