月別アーカイブ: 2014年12月

ImportError: No module named cloudstorageというエラーが出てしまう場合の解決方法

Google App EngineのpythonでGoogle Cloud Storage Client Libraryを試しに使おうと思い、グーグルのマニュアルを読んでいたんだけど、
デモのファイルを動かすときに以下のエラーが出てはまった・・・
インストールはPyPi(PyPiは何のことか知らなけど、以前にも使ったことがあった)を使い、マニュアル通りに

pip install GoogleAppEngineCloudStorageClient -t <your_app_directory/lib>

とした。これは、your_app_directoryのとこに自分のアプリ(appangineの本体ではなくアプリのファイル)のアドレスをそのまま置き換えて、コマンドプロンプトでコピペするだけでOKだった。

ところが、

ImportError: No module named cloudstorage

というエラーが出て、いろいろ試行錯誤しても駄目で、
海外のサイトを見ると、

import lib/cloudstorage as gcs

のようにlib/をつけると上手く行ったと書いてる人もいたが、上手く行かず
結局どうしたら解決したかというと、
アプリのlibフォルダの中にcloudstorageというフォルダがあるから、これをlibファオルダから出して、一つ上の階層にあげて
app.yamlとかサンプルファイルがある場所に移したらあっさり解決した。

ちなみにPyPiでインストールすると、サンプルファイルが含まれてないようだけど、マニュアルにあるサンプルソースをコピペして、ファイル名の場所だけ変えればそのまま使えた。

Google Cloud Storage Pythonを使ってみる

グーグルがやってるクラウドサービスというのを試しに使って見てるが、まだ良くわからないところが多い。

基本の単語からわからなくて、取り敢えず、データを収める場所がバケットで、収めるデータをオブジェクトというらしい。

面白いなと思ったのは、サブディレクトリの仕組みで
例えば、
animal/sea/fish
というサブディレクトリの構造らしきものがあったとして(これをバケットというらしい)、実際は、animalの下にseaフォルダがあって、そこにfishというファイルがあるんではなくて
たんに、fishというファイルにanimal/sea/fishという名前が付いているだけということらしい。

グーグルのクラウドサービスを見るとなんでも用意されてるので、ほんとできるだけ自前でやらずに用意されているものを上手に組み合わせてどう利用するかが大切だなぁと思った。