えびしブログ

〜サーバーは魔法で動いているわけではない〜

Pythonを使ってみる

有向グラフからグループを抽出したいよーー!


Rを使えばできそうなのですが、Javaからうまく動かせなくなってしまって*1行き詰まり…。
そこで行列計算のライブラリが充実している(らしい!)Pythonを使ってみることにしました。

Python2.7のインストール

http://www.python.org/download/
なんとなく2.7をインストール。

PATHをとおす(Windows XP

コマンドプロンプト→システム→詳細設定→環境変数
Pathにpython.exeがあるディレクトリを追加。(私の場合はC:\Python27)

しかし、ここで罠が…
ちゃんとパスが通ったか調べてみると、

>python --version
Python 2.5.1

2.5…
あれ、2.7をインストールしたはずなのに…??


実は、Cygwinをインストールしていたため、そちらのPython2.5のパスが通っていたようでした。
環境変数のPATHを、Python2.7のpython.exeがあるディレクトリが先頭に来るように修正→再起動することで解決。

>python --version
Python 2.7

よし!!

Pythonの基本をここで覚える<●><●>

http://kanaya.naist.jp/nishio/LearnPythonInAnHour.html

easy_installを使えるようにする

Pythonにライブラリを追加するときってどうするんだろう…?
調べてみたらeasy_installという便利なツールがあるそう。さっそく使ってみる!
↓参考にさせていただきました。
404 Not Found
Easy Install - PyPI Walker


PATHを通します。
↓参考にさせていただきました。
2 pythonを便利に使うための設定をする - BOT2UKU
環境変数のPATHに以下を追加。

C:\Python27\Scripts;C:\Python27\Lib\site-packages;
PythontwitterAPIを簡単に使いたい

python-twitterを使えば簡単にできるらしい。
しかしpython-twitterを動かすにはsimplejsonというモジュールが必要らしい*2ので、そちらからインストール。
ここでeasy_installの出番!コマンドプロンプトで以下のように入力するだけらしい。どきどき。

>easy_install simplejson
>easy_install python-twitter

できたー!楽ちんですね!(゜д゜)
普通にDLする場合はこちらから。

  • simplejson

simplejson 3.3.0 : Python Package Index

python-twitter - A python wrapper around the Twitter API - Google Project Hosting
ドキュメントはここを見ればよさそうです。

Python: module twitter

とりあえずフレンズをとってくる!

python-twitterでフレンドリストをファイルに保存する - はてブロ@ama-ch
↑こちらを参考にフレンズリストの書きだしに成功したのですが、
100人しかとってこれないみたいです。むむむ…
python-twitterのGetFriends()で100人以上取得する - はてブロ@ama-ch
↑こちらを参考にtwitter.pyを書き変えようとしたのですが、肝心のtwitter.pyが見つからず…あ、あれー…
eggファイルはあるのですが…むむむ。
eggファイルの中身って見られるのでしょうか…よくわからないのでここでストップ。

グラフの計算をしたい!!

twitterに行き詰まったので、行列計算を試してみることに。
やりたいことは、有向グラフからグループを抽出する、たったこれだけなのですが、行列計算の知識が無いためどうアルゴリズムを組んだらよいか見当もつかず…
とりえあずRという統計ソフトを使えばできそうな気がする!ので、PythonからRを使ってみることにしました。
どうやらRPyを使えばできるらしい。
↓参考にさせていただきました。
RPyで遊んでみる - Seeking for my unique color.
インストールしていると…

Error: Tried to guess R's HOME but no R command in the PATH.

エラー…
Rのパスを通さなければいけないらしい。
環境変数にR_HOMEを作ればいいのかしら…!?*3
再起動がめんd(ryなので、また明日。。

覚え書き

  • NetworkX
  • Numeric
  • pylab

かかった時間メモ

8時間くらい/(^o^)\

*1:[http://d.hatena.ne.jp/eibiisii_mikan/20100804/1280926686:title]

*2:[http://d.hatena.ne.jp/ama-ch/20080514/1210757894:title]

*3:[http://www.okada.jp.org/RWiki/?Python%20%A4%C7%A1%A1R#l0c3c4af:title]