Python, simplejson にはまる


Dropbox.com に含まれる特定のフォルダを自動的に自分のウェブサイトと同期したいのだけれども、残念ながら、そのウェブサイトは Dropbox.com がまだサポートしていない FreeBSD で動いているから困ったというところから始まった話です。

開発者用の Wiki を見たら、Python 用の API が勧められていたので、今まで一度も Python をさわったことがないにもかかわらず、やってみようということで始めたら案の定はまりました。でも、なんとかテストは通ったらしいです。嘘八百を並べているかもしれないけれども、やってみたことを書きます。

基本的には ”dropbox-client-python” の README に書かれていることを順番にやればいいのですが、慣れていないことに加えて、使っているのがレンタルサーバという事情で少し苦労しました。以下 README の記述に私がやったことを併記します。

+ python setup.py install
~ とは書かれているのですが、このままだとシステム領域に書き込もうとして、書き込み権限がないのでこけます。そこでエラーメッセージから想像するに標準的なパスと思われる ”~/lib/python2.6/site-packages” を作成し、環境変数の ”PYTHONPATH” をそこに通し、”python setup.py install –prefix=$HOME” を実行しました。
+ Copy config/testing.ini.example to config/testing.ini
~ 言われたようにやるだけです。
+ In config/testing.ini enter your application’s consumer key, secret key, and your test user email and password.
~ consumer key と secret key は、dropbox.com の ”My Apps” に自分がこれから開発しようとしているプログラムを登録すれば割り当てられます。email と password はもちろん dropbox.com の認証情報です。
+ Run ‘nosetests tests’ to make sure all the tests pass.
~ を実行してみたのですが、simplejson パッケージがないと怒られました。setup.py に simplejson を追加すればいいのかと思ったのですが、それでも駄目。よく分らないまま、あちこち参照しながら、どうやら ”pip” とかいう Python 用のパッケージがあることを見つけてこれをインストールすることにするのだけど、pip をインストールするには setuptools というのも必要になるらしいので、まずはこれをダウンロードして、以下のように、easy_install, pip, simplejson をインストール。
— sh setuptools-0.6c11-py2.6.egg –prefix=~
— easy_install –prefix=~ pip
— pip install –install-option=’–prefix=~’ simplejson
~ ここでテストを実行したら、dropbox.com との認証に失敗していくつかのテストがこけたのだけど、これは第3ステップで設定したパスワードが間違っていたためらしい。修正するとすべてのテストが動作しました。テスト中に Growl のログを眺めていると ”sample_photo.jpg” をアップロードしたり削除している様子が見られました。ちゃんと動いているみたい。すばらしい!
+ Start developing your Dropbox API application!
~ ということで、今、ここです。そろそろ Python を勉強しないと。。。

Python, simplejson にはまる」への2件のフィードバック

  1. Python で書かれている開発管理ツール Trac を使ってプログラム理解用のツールを開発しております。 Trac はかなり良く出来たツールなのですが、設定が面倒だったりちょっと気に入らないところがあったりもするので、Python が読めればなあ、と思う事が時々あります。

    • こんにちは、しばらくです。お互いにそろそろ年貢の納めどきですね。

コメントは受け付けていません。