結論: djangoの起動で失敗しました。
台湾の議員さんの活動を視覚化するアプリとして面白いものがあったので自分でも構築しようとして失敗しました。
今回はその記録。
構築対象
これ。
http://twly.herokuapp.com/
http://twly.herokuapp.com/about/
これは議員さんが
- どの法案に関与していて
- 賛成したか、反対したかがわかって
- 結果が一覧で見れる
という機能があります。
システム
3つの仕組みにわかれています。
- crowler
議員さんの情報を収集して、Postgresに格納する仕組み。
- file_handler
crowlerで集めたDB上のデータに対してクエリをかけて、json形式にまとめあげる仕組み。
- voter-guide
Djangoフレームワークを使ってウェブページにまとめる仕組み。
見てみたら、このvoter-guide
にはサンプルデータが付属してるので、単体で動きそうだということがわかりました。今回の作業対象です。
環境
Amazon EC2で、Ubuntu 12.04 LTSのインスタンスを立ち上げてテストしました。
手順
Ubuntuでの手順に従っています。
0.1 python pip easy_install postgresql をインストール
sudo apt-get install python-pip python-dev python-setuptools postgresql
sudo easy_install virtualenv
easy_install にsudoが抜けてました。
0.2 データベースにパスワードをかける
sudo -u postgres psql -c "ALTER USER postgres with encrypted PASSWORD 'put_your_password_here';"
まぁ、そりゃそうだ、ってことでpostgresユーザにDBのパスワードつけました。
git clone
sudo apt-get install git
git clone https://github.com/g0v/twly-voter-guide.git
cd twly-voter-guide
Vanillaな環境だと当然git入ってないので、入れまし。
virtualenvの指定
virtualenv --no-site-packages venv
source venv/bin/activate
pip install -r requirements.txt
サンプルデータの投入
sudo su -
su - postgres
cd /home/本来のゆーざあかうんと
createdb ly
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U postgres -d ly local_db.dump
lyデータベースを作って、-U 指定いらないよね、と思いながら、に対してデータのインポート。
たぶん成功した。
Djangoの起動(ここで失敗)
local_settings.py
に対して文章を追加すればOKよー、と書かれてるんだけど、ここでよくわからない。
とりあえずlocal_settings.py
に対して、指定されているコードを(パスワードなどを差し替えて)追加して、Djangoを起動させてみようとしてみた。
python manage.py runserver XX.XX.XX.XX
そうすると、manage.py
の中で指定されているly.setting
が無いよー、というエラーが返ってきて、ここでタヒ。
どこでその生成をするのか、よくわかってない。
Djangoとかぜんぜんわかってないので、根本的になんか間違っている気は、する。