2010年9月27日月曜日

Python-Twitterを入れるのに悪戦苦闘

お久しぶりです。
PythonでTwitterのアプリ的なものを作ろうと思い立ちまして、まだそんな実力はないのですがチャレンジしています。
早速詰まったのが、標準的なライブラリのインストールです。

http://code.google.com/p/python-twitter/
まず、こちらのサイトから、以下のファイルをインストールする必要があります。

http://cheeseshop.python.org/pypi/simplejson
http://github.com/simplegeo/python-oauth2
http://code.google.com/p/httplib2/

インストールは基本的には、コマンドプロンプトからインストールしたいファイルのフォルダに移動して、

python setup.py install

と入力すればOKです。

このさい、setuptoolsの導入が必要っぽい。
理屈は一切わかりません。

http://pypi.python.org/pypi/setuptools/

上のページに行って、自分のバージョンにあったsetuptoolsをDLして実行してください。

私はPython2.6を使っていたのですが、simplejsonが2.5にしか対応していない?ようだったので、2.5を入れました・・・
simplejsonに関しては、exeファイルがあったのでカンタンに導入できました。
入ったかどうかはシェルで

import simplejson

と入力してエラーがでなければ入っているのだと思います。(適当)
ちなみに私は最初sinplejsonと入力してエラーを吐いて苦しんでいた・・・

Python-Twitterのインストールですが、何度コマンドプロンプトからPython-Twitterのディレクトリに移動し、

python setup.py install

と入力しても、

EOL while scanning string literal

とエラーが出力され、できませんでした。
(しかもこの時、Python2.6の方にインストールしようとしている)

そこで、以下のページにあるこのような記述が参考になりました。
Python: BeautifulSoupで、HTML/XMLをらくらくパージング

Pythonのデフォルトエンコーディングは、「/usr/lib/python2.5/site-packages」配下に 「sitecustomize.py」を作成し、以下のように記述してあげることで設定できる。

#!/usr/bin/python
import sys

sys.setdefaultencoding('utf-8')

これをそのまま、python2.6のほうのフォルダに入れてあげたら読み込んでくれました。
試しに、

import twitter

と入力したところ、エラーもでず、どうやら難関クリアのようです・・・
シェルに、

>>> import twitter
>>> api = twitter.Api()
>>> statuses = api.GetUserTimeline('WSJ')
>>> print [s.text for s in statuses]

と入力して、http://twitter.com/WSJの内容が出力されればOKです。

http://d.hatena.ne.jp/idemo/20100905/p2様より)

お疲れ様でしたw

0 件のコメント:

コメントを投稿