Tag: Python’

DAU-Crawler/3.0 Release

 - by Don

DAU/Crawler

本日、SiReFaSoのコアエンジンであるDAU-Crawler/3.0をリリースしました。

DAU-Crawler/2.0からの変更点としては以下の通りです。内部的な処理の変更がメインで、外見上や仕様上の違いはありません。

  • Python 2.5からPython 2.7へ移行
  • Kay FrameworkをPython 2.7のものに差し替え
  • データストアAPIをDBからNDBへ移行
  • backendの処理をBackendsからModulesへ移行
  • 画像処理ライブラリをpypngからPILへ差し替え
  • robots.txtの解釈に関するバグの修正

SiReFaSoへの適用

SiReFaSoはまだDAU-Crawler/3.0への差し替えはしていません。しばらく別サーバで試験運用をしてから差し替えようと思います。

差し替え時にはDAU-Crawler/2.0の時と同様、全てのデータを削除した上で再度登録し直す作業が必要となります。メンテナンスには相当の時間がかかるため、スケジュールが決まり次第Disc-2に告知する予定です。

更新の目的

特に仕様上の変更は無いのですが(バグフィックスはあるけど)、Googleさんに「いつまでもPython 2.5使ってんじゃねーよ*すぞ(意訳)」って言われたので、ついでに色々まとめて更新したのでした。

SoSiReMiは?

SoSiReMiも更新しないといけませんが、こちらはまだメドが立っていません。SiReFaSoが片付いたら手を付けようと思います。

NAR-Station更新 日本語ファイル名処理不具合修正

 - by Don

日本語名のファイルを正常に保存できない不具合が以前にもありましたが、
その修正が不十分であったため、再度更新しました。

nikolat / NAR-Station / overview — Bitbucket

併せて、SoSiReMiにアップロードされたNARが正常に保存されていなかったため、差し替え作業を行いました。ご不便をお掛けしております。

それはさておき

Google App EnginePreview版を卒業しました。Python2.7がサポートされたことがウリなのですが、High Replication Datastoreに移行しないと利用できない、移行のためには今のID(ドメイン)を捨てる必要がある、とのことでPython2.5を使い続けることにしました。

他にめぼしいアップデートとしてBlobstoreが無料枠でも使えるようになったのが嬉しいです。今までは頑張ってDatastoreでちまちまファイルを小分けにして保存していたのですが、これでNARをまるごと保存できる上に高速化できそうです。今までの苦労はなんだったのだー。ただ今のソースを書き換えるとなるとかなり大変なので時間がある時に試してみます。

ところで新料金体系になってからも問題なく動いていますね。でもSiReFaSoはかなりギリギリなのでこちらの書き換えが最優先と考え、今ソース最適化の作業中です。

GAE/P 開発者向けリンク

GAE/P SDK 1.6.0 でkayのrunserverがコケる問題の対策

Python2.5とPython2.7のMySQL-python(mysqldb) Windowsインストーラ

ninix-aya用のプラグインを作ってみた

 - by Don

ninix-ayaのプラグインを作ってみようと思ったのですが、何を作ったらいいかわからないので、とりあえずSSPのプラグインを移植してみようと思い立ちました。

nikolat/HitThunder – GitHub

使ってみて気が付きましたが、ninix-ayaはNOTIFY SSTP/1.1に対応していないのですねver 4.3.2で対応されました。プラグイン自体はSSTPを送信するだけのシロモノなので、先にSSPを起動しておいた後にninix-ayaを起動し、実体化プラグインを実行するとSSPのゴーストに通知されるので正常に実行されていることが確認できます。

SSPの場合はPLUGIN/2.0の仕様に従ってプラグインに対してイベントが通知される形式なので、色々と情報が取得できる上、ベースウェアが起動している間ずっと常駐できます。しかしninix-ayaの場合はPythonスクリプトを実行するだけのシンプルな構成なのであまり凝ったことはしない方が賢明のようです。プラグイン実行ゴーストなどもSSPであればSenderなどで取得できますが、ninix-ayaでは判別するのも難しいかも。

Windows+Python2.7+ninix-aya

 - by Don

Windowsでninix-ayaを起動するための必要最小限の構成を目指します。

ninix-ayaがPython2.7でも動くらしいことがわかったので、Python2.7を新規インストールするついでのメモです。

自分の環境にはGitとMercurialがインストールされているのでソースを落とすときに利用していますが、ソースを入手するだけなら普通にWebからダウンロードできるはずなので本来は不要です。easy_installやpipでソースからビルドする時にVC++コンパイラを使用するためVisual Studioのcl.exeが必要かもしれない。無ければWindows用のインストーラもあるので大丈夫です。

必要なモジュール

  • Python2.7
  • PyGTK(GTK+)
  • Python for Windows extensions
  • Numpy
  • httplib2(ninix-aya 4.2.10からは不要)
  • ninix-aya

Python2.7

Python 2.7.2 ReleaseからWindows x86 MSI Installer (2.7.2)を落としてインストール

Python27/Scripts と Python27/Lib/site-packages にPathを通しておく

ez_setup.pyをダウンロードしてeasy_installのセットアップ

> python ez_setup.py

終わったらpipをインストール

> easy_install pip

PyGTK

pipではインストールできないのでWindows用インストーラを落とす

ftp.gnome.org

pygtk-all-in-one-2.24.0.win32-py2.7.msiを選択してインストール

Python for Windows extensions

これもpipでインストールできなかったのでソースを落としてビルドする

> hg clone http://pywin32.hg.sourceforge.net:8000/hgroot/pywin32/pywin32 pywin32
> python pywin32/setup.py install

ビルド環境が無い場合はWindows用インストーラもある

Python for Windows extensions – Browse Files at SourceForge.net

Numpy

pipでインストールできる

> pip install numpy

ビルド環境が無い場合はWindows用インストーラもある

Numerical Python – Browse /NumPy at SourceForge.net

httplib2

pipでインストールできる

> pip install httplib2

ninix-aya

> git clone git://git.sourceforge.jp/gitroot/ninix-aya/master.git ninix-aya

Gitが無い場合はサイトからダウンロード

ダウンロード – ninix-aya – SourceForge.JP

真面目にビルドして起動しようとするとCygwinが必要?でもPythonでlib/main.pyを実行すればCygwinなくてもきっと動く。

とりあえずPython2.7でninix-ayaが起動できました。

WindowsでGoogle App Enigne/Pythonの開発環境を再構築してみる

 - by Don

バージョン違いの複数のPythonを整理したくなってきたのでPython2.5を再インストールした。

2.5はGAE/Pでさえ動けば良いのでsslとPILだけ入れれば大丈夫。のはず。

Python 2.5

Python 2.5.4 のインストーラは公式にあるけれど、Python 2.5.6はソースしか置いていない。どこかにインストーラないかなーと探していたらActivePythonがあった。これでインストール。

Python 2.5はVisual Studio 2003でビルドされているらしく、easy_installやpipを使うとsetup.pyでVS2003が無いとエラーで弾かれる。「Cygwinを使ってもインストールできるよー」ってメッセージが出るけどgccのPermissionがどうのこうの言われてうまくいかない。なのでsslとPILはWindows用インストーラから入れることに。

PIL

本家にWindows用インストーラがある。

Python Imaging Library (PIL)

ssl

Windows用のインストーラが pypi.python.org で配布されていたんだけど無くなってしまったらしい。でもやっぱり探すとミラーしてる人がいらっしゃった。

これでとりあえずGAEの開発環境は復元できた。

Windowsでninix-ayaを起動する

 - by Don

2011-07-27にninix-aya 4.2がリリースされ、必要なソフトウエアが全て揃っていれば、Windows環境でも動くようになった、とのこと。

起動してみる

まずはninix-ayaを入手する。Windows用インストーラは無いのでソースからビルドする必要がある。最新のソースをGitで取得。

$ git clone git://git.sourceforge.jp/gitroot/ninix-aya/master.git

中にREADMEが入ってるのでよく読む。依存モジュールは以下のとおり。

上記のモジュールは必須で、他に特殊なSHIORI、SAORIを使う場合に必要なモジュールもあるみたい。今回はいいや。

上に書いてないけどwin32conっていうモジュールも必要だった。

Python2.6

日本語公式にPython2.6.6のWindows用インストーラがある(python-2.6.6.msi)のでそれをDL。

Google App Engine用にPython2.5使ってるので別フォルダにインストールした。Pathを一時的に2.6の方に変更。

GTK+

ウチの環境では既にGIMPをインストールしていたので要らない。というか後述のPyGTKでこれもセットでインストールできるのがある。

Numpy

NumpyのWindows用インストーラ(numpy-1.6.1-win32-superpack-python2.6.exe)があったので素直にそれでインストール。

PyGTK

PyGTKのWindows用インストーラ(pygtk-all-in-one-2.24.0.win32-py2.6.msi)があったので素直にそれでインストール。

httplib2

こいつはソースからインストールした。

$ hg clone https://code.google.com/p/httplib2/ httplib2
$ cd httplib2
$ python setup.py install

win32con

後で起動した時にエラーが出て必要であることがわかったモジュール。Python for Windows extensionsというのをインストールすると良いらしい。

Python for Windows extensionsのWindows用のインストーラもあるらしいのだけど、なんとなくソースからインストールした。

$ hg clone http://pywin32.hg.sourceforge.net:8000/hgroot/pywin32/pywin32 pywin32
$ cd pywin32
$ python setup.py install

ninix-ayaのビルド

ソースはさっきGitで持ってきたのでnmake。でもエラーで止まる。nmakeはダメらしい。

仕方がないのでCygwinをインストール。デフォルトの設定だとmake入らないのでここを参考にしてmakeも使えるように。→Cygwin | OKWave

Cygwinでmakeしたらビルドできた。

ねこことショータ(RX)

ninix-ayabinディレクトリで作業。

インストールなのですよー。

$ ./ninix-install -d http://members.jcom.home.ne.jp/nekosho/data/nekoshoRX223.nar

なんかエラー出て止まる(´・ω・`)

NARを落としておいてローカルからインストール。できた。

$ ./ninix-install nekoshoRX223.nar

他にバルーンをインストールしようとするとエラー出て止まる(´・ω・`)

ねこショーはballoon同梱だしそっちは無事にインストールされたらしいからとりあえずそれでいいや。

起動してみる。

$ ./ninix

キタ――(゚∀゚)――!!

nekosho on ninix-aya

nekosho on ninix-aya

ちょっと動きがぎこちないけどちゃんとトークもする。

ネットワーク更新すると落ちる(´・ω・`)

他のゴーストはまだ試してないけど、ninix-ayaすごいね!!