Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

June 7, 2011

CentOS5におけるPython2.6の導入

CentOS5(RHEL5)のPythonは2.4系で色々辛いのでPython2.6を導入する。
CentOS6になればPython2.6系になるのだけど…

迂闊な事をするとpythonをつかっているスクリプトに影響を与える可能性があるので注意。
可能性の中で一番辛いのはyumが死ぬこと。
要は現状のpython(/usr/bin/pythonと/usr/lib/python2.4以下)を傷つけなければ問題ない。
DLして解凍
# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz
# tar zxvf Python-2.6.7.tgz 
# cd Python-2.6.7
Modules/Setup.dist内のzlibに関するコメントアウトを解除する
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
↓
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
CheckInstallでrpm化して導入、libを登録
# ./configure --enable-shared
# make
# checkinstall
# rpm -ihv /usr/src/redhat/RPMS/x86_64/Python-2.6.7-1.x86_64.rpm 
# echo "/usr/local/lib" > /etc/ld.so.conf.d/python2.6.conf
# ldconfig
で、旧来のpython(/usr/bin/python)とは別に新しいpython(/usr/local/bin/python)が導入された。
PATHの設定にもよるが、デフォルトでは/usr/local/binが先に書かれているはずなので、
コマンドラインでpythonとだけ指定すると新しい方が呼ばれるはず。
最後にeasy_installが2.4系にしか入っていないので、新たに入れ直す。
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
これでeasy_installが2.6系でも使えるようになった。
と、ここまで書いてeasy_install自体もpacoで管理すれば良かったことに気がつくもときすでに遅し…
pacoって"make install"にあたる部位で-オプションをつけると
pacoへのオプションだと認識されてしまうようでにっちもさっちも!まぁいいか…
で、最後に便利系を入れておく。
# paco -p pip easy_install pip
# paco -p virtualenv easy_install virtualenv
# paco -p virtualenvwrapper easy_install virtualenvwrapper
以上

March 18, 2011

CentOS5におけるSkype4Pyを使ったSkypeBotの作成

Skype4Pyを用いて、Skypeボットを作成する。
前回前々回でCentOSにSkypeを導入し、デーモン化を行った。

今回も
http://d.hatena.ne.jp/moriyoshi/20100926/1285517353
を参考に進める

まず、easy_installを導入する
# curl -O http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
そして、
# easy_install Skype4Py
# easy_install ctypes
以上でSkype4Pyが導入された

一般的にはDBUSを用いたプロセス間通信を行うが、
どうにもうまくいかなかったのでx11経由で通信を行う
>>> import Skype4Py
>>> skype = Skype4Py.Skype(Transport='x11')
>>> skype.Attach()
上記のコマンドを初回に実行するとPublicAPI利用の許諾等がでるので、許可し記憶させておく
ここまでくれば、あとはPythonの話となる
適当なBotを書いて
$ env DISPLAY=:20 XAUTHORITY=/var/run/skype/Xauthority python bot.py
で実行すればよい

ドキュメントは
http://skype4py.sourceforge.net/doc/html/
を参照のこと