page_adsence

2015年6月5日金曜日

Google Cloud SDKとGoogle App Engine SDKにハマった

Google App Engineを使ってみようかと思い、SDKをダウンロードしてきたのですが、
Google Cloud SDKでも使えると思ってダウンロードして来てインストールしてみた。
しかし、手元のWindowsマシンではうまく動かなかった・・・。
その時に諸々調べたので、比べてみた。

■ダウンロード先URL
- Google Cloud SDK
https://cloud.google.com/sdk/

- Google App Engine SDK
https://cloud.google.com/appengine/downloads

■ダウンロードファイル
- Google Cloud SDK
GoogleCloudSDKInstaller.exe

- Google App Engine SDK
GoogleAppEngine-1.9.21.msi

落としてきたファイル自体は全然違うのですが、Google Cloud SDKをインストールしてもGoogle App Engineは使用できる。
インストール先のディレクトリを見ると同じ様な内容がインストールされていた。

■ディレクトリ構成 - Google Cloud SDK
C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine


- Google App Engine SDK
C:\Program Files (x86)\Google\google_appengine


比べてみるとGoogle App Engine SDKの方がファイルが少ない。
また、同じプロジェクトを実行してみても、吐かれるログも若干異なる。

- Google Cloud SDK
2015-06-05 18:31:24 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'C:\\GoogleAppEngine\\helloworld\\engineapp']"
INFO     2015-06-05 18:31:28,542 devappserver2.py:745] Skipping SDK update check.
INFO     2015-06-05 18:31:28,795 api_server.py:190] Starting API server at: http://localhost:61721
INFO     2015-06-05 18:31:28,819 dispatcher.py:192] Starting module "default" running at: http://localhost:8080
INFO     2015-06-05 18:31:28,822 admin_server.py:118] Starting admin server at: http://localhost:8000


- Google App Engine SDK
2015-06-05 18:06:43 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'C:\\GoogleAppEngine\\helloworld\\engineapp']"
INFO     2015-06-05 18:06:43,177 devappserver2.py:745] Skipping SDK update check.
INFO     2015-06-05 18:06:43,970 api_server.py:190] Starting API server at: http://localhost:61256
INFO     2015-06-05 18:06:43,996 dispatcher.py:192] Starting module "default" running at: http://localhost:8080
INFO     2015-06-05 18:06:44,013 admin_server.py:118] Starting admin server at: http://localhost:8000


ちなみに、Google Cloud SDKの方は、ファイル内を修正しないと動かなかった。
dockerが問題になるらしく、docker-pyとかインストールしてみたのですが、解決しなかったので、
とりあえずコメントアウトして対応しました。

参考URL:http://qiita.com/MiCHiLU/items/495e4c6da7a3e7f3925c

2015-06-05 18:27:00 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'C:\\GoogleAppEngine\\helloworld\\engineapp']"
Traceback (most recent call last):
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 83, in 
    _run_file(__file__, globals())
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 79, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 36, in 
    from google.appengine.tools.devappserver2 import dispatcher
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\dispatcher.py", line 29, in 
    from google.appengine.tools.devappserver2 import module
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\module.py", line 74, in 
    from google.appengine.tools.devappserver2 import vm_runtime_factory
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\vm_runtime_factory.py", line 25, in 
    from google.appengine.tools.devappserver2 import vm_runtime_proxy
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\vm_runtime_proxy.py", line 29, in 
    from google.appengine.tools.devappserver2 import log_manager
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\log_manager.py", line 34, in 
    from google.appengine.tools.docker import containers
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\docker\containers.py", line 48, in 
    from docker import docker
ImportError: cannot import name docker
2015-06-05 18:27:00 (Process exited with code 1)

どちらを起動させてもGoogle App Engine Launcherの見た目は同じですが、
初期状態ではGoogle Cloud SDKの方はエラーが出て立ち上がらず、Google App Engine SDKの方は普通に立ち上がります。
※左がGoogle App Engine SDK版、右がGoogle Cloud SDK版です。