今回はDropboxAPIをPythonで使用するために必要な環境の準備を行います。
Dropboxへの登録、Dropboxアプリの登録、Pythonのインストール、virtualenvで仮想環境構築、pipでパッケージのインストールを行います。
もくじ
今回書くことについての説明をします。
2.DropboxAPIについて
DropboxAPIがどんなものか、どういう仕組みで動いているのかについて説明します。
3.DropboxAPIを使う準備をする <ー今回はコレ
pythonからDropboxAPIを使うために必要な環境の準備をします。
4.サンプルプログラムを作る
3で作成した環境を使ってサンプルプログラムを作ります。
5.flaskを使ってウェブアプリを作成
ウェブフレームワークのflaskを使ってウェブアプリを作る練習をします。
6.Dropboxのフォルダ一覧を作る
flaskを利用して、Dropboxのフォルダ一覧を表示するウェブアプリを作ります。
7.dotcloudで公開する
PaaSのdotcloudを使い、6で作ったウェブアプリをデプロイすることでみんなに見てもらえるようにします。
8.参考
参考にしたURLなど。
本記事のソースはGitHubにあります。
3. DropboxAPIを使う準備をする
3.1. Dropboxの登録
もしDropboxアカウントを持っていない方がいましたら、ここで登録してください。
Dropboxを開きます。
右上のlog inを押すと小さなウィンドウがでてきます。
create an accountを押すと、登録画面が開きます。
必要な情報を入力して登録します。
登録が完了すると、登録したOS用のツールのダウンロードが始まります。
ダウンロードが完了したらインストールしてみましょう。
ダウンロード画面からHome画面に戻るには、「Back to home」をクリックします。
一応チュートリアルみたいなものがあって、一通り試してみると、容量が250MB増えます。
もし、日本語になっていなかったら、右下にある言語セレクトボックスから選択しましょう。
3.2. アプリ登録
「開発者」のリンクからアプリ登録を行います。
ここで登録したアプリを後で使いますので、あとでわかるような名前で登録しておいてください。
画面の下の方に「開発者」というリンクがあります。
My apps を開きます。
必要な情報を入力してアプリを作成します。
Access levelはapp folderにします。
App KeyとApp secretがOAuthに必要なキーとなります(塗りつぶしているところ)。
この2つのキーのことをOAuthでは、Consumer KeyとConsumer Secretと呼びます。
あとで使うのでここに記載されていることを覚えておいてください。
3.3. pythonのインストール
pythonがインストールされていない人はここでインストールしましょう。
macの場合、最初にインストールされているpythonで大丈夫だと思います。
windowsは試していないのでわかりませんが、インストーラーを使ってインストールすれば簡単にインストールできるはずです。
Linuxの場合、python2.5より小さいバージョンの場合には、ソースからでもapt-getからでも何でもいいのでインストールしてください。
3.3.1. pythonのインストール(mac)
macportsからインストールする他にも、ソースからビルドしてもいいですし、windowsと同じくパッケージをダウンロードしてインストールしてもいけます(たぶん)。
macports のインストール
The MacPorts Project — Homeを開きます。
Downloadを押します。
OSのバージョンにあったファイルをダウンロードします。
ダウンロードしたパッケージをインストールします。
インストールが完了したら、ターミナルを開いてpython2.7のインストールを行います。
[bash]
sudo port install python27
[/bash]
3.3.2. pythonのインストール(win)
windowsでもpythonをインストールできますが、文字コードの関係でコンソール(MSDOSプロンプト)での動作がうまくいかないことが多い気がします。
python標準リリースを開きます。
python2.7.2のwindows用インストーラをダウンロードしてインストールします。
3.4. virtualenvの導入
virtualenvはpythonの仮想的な環境を作ることができるパッケージです。
globalな環境とは別にパッケージの管理が可能となります。
プロジェクトAではpython2.5でAパッケージをインストールして動かす、プロジェクトBではpython2.7でBパッケージをインストールして動かす、ということが可能になります。
virtualenvをインストール
[bash]
sudo easy_install virtualenv
[/bash]
virtualenvの使い方
使い方と自分が良く使うオプションです。
[bash]
Usage: virtualenv [OPTIONS] DEST_DIR
-p PYTHON_EXE, –python=PYTHON_EXE
どのpythonの実行ファイルを使うかを指定する。
(/opt/Python2.7/bin/python)
–no-site-packages globalのライブラリにアクセスしない。
–distribute より新しくてナイスなdistributeというパッケージを使って管理する
[/bash]
実際には、次の項でも同じものを書きますが、以下のようにプロジェクトディレクトリを指定して仮想環境を作ります。
[bash]
mkdir testapp
virtualenv –no-site-packages testapp
[/bash]
生成が完了すると以下のディレクトリ構成で必要なファイルが生成されます。
[bash]
.
|– bin
| |– activate
| |– activate.csh
| |– activate.fish
| |– activate_this.py
| |– easy_install
| |– easy_install-2.7
| |– pip
| |– pip-2.7
| |– python
| `– python2.7
|– include
| `– python2.7 -> /opt/python2.7/include/python2.7
`– lib
`– python2.7
|– ファイルが沢山
[/bash]
bin/activateをsourceで読み込むことで、仮想環境を有効化することができます。
仮想環境を無効化するにはdeactivateを呼び出します。
なお、virtualenvはvirtualenvwrapperというパッケージを使うと更に使いやすくなります。
詳しくは、virtualenv, virtualenvwrapper, pip を使う方法 – Ian Lewisがわかりやすいと思います。
(Windowsの場合にはvirtualenvwrapperを使えません。かわりにenv.pyというのを使うとよいです。参照:Windowsでもvirtualenvwrapperっぽい環境をつくる – Ehrenの日記)
3.5. 今回の開発用に仮想環境を作成する
今回のDropboxAPIを使用するプロジェクト用に仮想環境を構築しましょう。
プロジェクトを作成したいディレクトリに移動してプロジェクトディレクトリを作成し、そこに仮想環境を作ります。
[bash]
% cd /Users/planset/tmp
% mkdir dropboxtest
% virtualenv –no-site-packages dropboxtest
[/bash]
作成した仮想環境を利用するには、プロジェクトディレクトリに作成されたbinフォルダのactivateを読み込みます。
[bash]
% cd dropboxtest
% source bin/activate
(dropboxtest) %
[/bash]
開発環境に有効にした状態ではシェルの行の先頭に(プロジェクト名)という文字列がつきます。
仮想環境を無効化したい場合には、deactivateを呼びます。
[bash]
(dropboxtest)% deactivate
%
[/bash]
3.6. 必要なパッケージのインストール
仮想環境を有効にした状態で、必要なパッケージのインストールを行います。
pipというパッケージ管理ツールが仮想環境にインストールされていますのでそれを使います。
[bash]
(dropboxtest)% pip install flask
(dropboxtest)% pip install dropbox
[/bash]
ここではウェブフレームワークとしてflask、DropboxAPIのSDKとしてdropboxというパッケージをインストールしています。
これで仮想環境でflask(後述)とDropboxAPIを使う環境が整いました。
せっかく作ったので、仮想環境だけでライブラリが使えることを確認してみましょう。
[bash]
(dropboxtest)% python
Python 2.7.2 (default, Aug 4 2011, 14:30:25)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
>>>
[/bash]
何もでてこない=importが成功したってことなので、flaskパッケージを使えるようになりました。
逆に、仮想環境から抜けた場合、インストールしたパッケージが使えないことを確認しましょう。
[bash]
(dropboxtest)% deactivate
% python
Python 2.7.2 (default, Aug 4 2011, 14:30:25)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named flask
>>>
[/bash]
インポートエラーがでていますね。
このように、global環境にはパッケージは存在せず、仮想環境だけにパッケージが存在することがわかります。
次回
やっと次回でDropboxAPIを使ってDropboxにアクセスします。
次回は4.サンプルプログラムを作るです。