PyQt4で画像を扱うアプリケーションをMac OS X上でバンドルする

MacPorts入れる まっさらなMacに、XcodeとMacPortsを導入する。 んで、 sudo port install python26 py26-pyqt4 sudo python_select python26 とすれば、開発環境が整う。かなりコンパイル時間がかかるので注意。 バンドルする Mac OS Xで配布用バイナリ(.ap…

cx_Freezeからpy2exeに移行作業したときのメモ

py2exeはencodings以下を手厚く入れてくれる。 cx_Freezeの場合、encodings以下のモジュールについて必要なものは、おのおの指定する必要があった。 py2exeはencodings以下をどっちゃり入れてくれる。 py2exeでPyQtで画像を扱う場合の注意 前エントリで紹介…

cx_FreezeでPyQtアプリを固めた時に詰まったところ

cx_Freezeにて、setup.pyで設定を行い場合の注意 たとえば、以下のような要件があったとする。 ・sipモジュールを追加で読み込みたい。 ・アプリケーションにアイコンを指定したい。cx_Freezeのドキュメントでは、 以下のような書き方でOKなように読める。 i…

PyQtでアプリを作る

PyQtでhtmlをごにょごにょするアプリを作りたい@Windows。 今まではwxPythonを使っていたが、画面デザインツールがいまいち使いづらい。 Qtのデザインツールを使ってみたらよさげだったので、PyQtに移行しよう。 最近LGPL 2.1もライセンスの選択肢に入ったの…

PyTC 0.5をリリースしました。

PyTC、ビルドできなくなっていたんですね…外国人の方に「ビルドできひん」というメールもらって初めて気づきました。tchdb.hからいくつかの定数がなくなっていたので、それらを削除して新しい定数を加えたPyTC 0.4をリリースしました。さらに、addint/adddou…

Python温泉 #4に参加中。

ゆるくて好きなイベント、Python温泉 #4に参加中。 お尻が蒸れているのだが、後ろにid:moriyoshiがいるためお尻がかけない。 せっかくリンクを貼ってもらったのでマトモなことを書こう。 禁酒&三食食べるという生活で、ちょっと真人間に戻った。 日本でPytho…

Senna DB APIのPython bindingsをCythonを使って書く

id:shnに「PyrexでPyTC書き直してみたら?」と言われて、 id:moriyoshiに「Cythonのほうがいいお」と言われたので(どちらも意訳)、 Cythonをちょこちょこと触っていた。 Senna DB APIのbindingsを書いてみた。 一応説明しておくと、Senna DB APIはkey-reco…

DebianでigraphとそのPython bindingsをインストールする。

Newmanが論文“Fast algorithm for detecting community structure in networks.”で提案した階層的クラスタリングのアルゴリズムが実装されているらしいので、 igraphっていうグラフライブラリを使ってみたくなった。 Igraph 2008年10月現在、たぶん上記でNew…

PyTC 0.3をリリースしました!

PyTC 0.3をリリース。 MacPortsでTokyoCabinetを入れた人でも、すんなりインストールできるようになった…はず TCBDB.range/TCBDB.rangefwmを実装した Marshal関係はまだやってねっす。

DBMにPythonのオブジェクトを保存する@C言語

cPickleをC言語から呼び出すのはどうやらめんどくさそうだ。 素直にPythonでラップするのがいいな。 複雑じゃないオブジェクトだったら、Marshalが使える。 MarshalだったらC言語から呼び出せる。 PyMarshal_WriteObjectToStringとPyMarshal_ReadObjectFromS…

easy_installでMac Portsのディレクトリを探さなくて困るよ問題

適当に対応してみた。 次回リリースからたぶんeasy_install一発でいけるはずです。全くテストしてないのでやっぱり一発でいけない可能性アリ(笑

PyTCでUnicodeのvalueが保存できない

そっか、Unicode完全無視してた… http://humming.via-kitchen.com/weblog/tag/pytc/ 対応します!! ついでに、cPickleをCから呼んでみようかなー。るんるん。

Vensterかあ

Pythonで作りかけのクライアントアプリケーションがある。 移植性を確保したかったのでwxPythonで書き始めたわけだが、 どうもかゆいところに手が届かないwxPython。 というわけで、その開発が頓挫してしまっていたりする…そこで今日見たVenster。 http://ww…

解決黒頭巾!PythonのC拡張でcleanup用のコードを呼びたい!

PythonのC拡張でcleanup用のコードを呼びたい! - グニャラくんのグニャグニャPython備忘録の続き。 Pythonのatexitにあたるものがないかな〜、とは思っていましたが、 ありました。Py_AtExit。 VideoCaptureのソースを見ていて気づいた。

VideoCaptureを試してみる。

VideoCaptureという、USBカメラとかの画像をキャプチャできるPython用ライブラリを試してみた。 VideoCapture - A Win32 Python Extension for Accessing Video Devices (e.g. a USB WebCam, a TV-Card, ...) うちにあるHDVカメラでやってみたのだが、 どう…

Django勉強会 Disk 4

Django勉強会 Disk 4があるということで、 http://www.djangoproject.jp/etude/4/id:Voluntasさまの日記に 「発表できるネタがあれば発表したい!」 とコメントした。 そしたら、即entryされていた(笑 さて、ネタを作るぞ。 そういや、サイボウズ・ラボは初…

PythonのC拡張でcleanup用のコードを呼びたい!

PythonでC拡張を書くとき、 初期化用の関数はあるのだが(PyMODINIT_FUNC)、 後始末用の関数がない… こういうときはどうするのがいいのかなあ。 自前で呼べっていうのもめんどくさそうだし。

Python温泉を総括するッッッッ!!!

Python温泉のまとめ。 メガネを換えたくなった(「すげーメガネかけてるね?」ってよく言われようなメガネに) 集中する時間って大事ね。週1みんなで集中する会とかをやりたい。 欠食児童っぷりがバレてしまった… Djangoはじっくり勉強していく。ある程度の…

2日目。

Djangoのドキュメントを読みまくる。複数カラムでのUNIQUE制約は、 class Model(models.Model): class Meta: unique_together = (("column1", "column2"),) う〜ん、悩む。 以下のようなモデルがある場合、 class Parent(models.Model): name = models.CharF…

1日目(随時更新)

小田急が遅れて、ロマンスカーに危うく乗り遅れそうになる。 危険危険。 ロマンスカーの中でftのプログラムを開始。 とりあえず、掲示板で閲覧するときにタグ等の情報を送るようにする。 ft.fileとft.dbの機能分担が微妙になってきた。あとでリファクタリン…

明日は〜明日は〜温泉〜 しかしッ…

今日Amazonから届いたプライベートなモノ。 (ちなみに、Amazonプライム会員です…)四年生 (アフタヌーンKC)作者: 木尾士目出版社/メーカー: 講談社発売日: 1998/05/20メディア: コミック購入: 1人 クリック: 46回この商品を含むブログ (51件) を見るヤサシ…

Python温泉までにやること

ftの掲示板を作っておきたい。 xxxからtxxを作成してサーバに送りつつ掲示板を見る hxxxを計算する際にサイズが大きすぎる奴はダイアログで確認、さらにプログレスバーも出したい ひととおり掲示板を作る。 温泉から帰ったときにはアルファリリースができる…

PEP 8に違反しまくり

仕事で初めてPythonのスクリプトを書いてみた。 http://svn.razil.jp/django-wikipedia/trunk/wpxmltodb/wpxmltodb.py C言語に移植しやすいこと、処理速度をなるべく早くすることを念頭に置いたため… かもしれないが、美しくない。lambdaもリスト内包表現も…

ハンズオンのお手伝い

http://www.python.jp/Zope/PyLog//1181112812/index_html にてDjango部分のハンズオンをお手伝いさせていただくことになりました。 是非是非ご来訪ください!!! そのときまでに、ちゃんとDjangoを勉強しておくので…ゲホゲホ しかし、同日に未踏なイベント…

FizzBuzz問題

Pythonでの回答例で面白いものを見つけた。 Using FizzBuzz to Find Developers who Grok Coding for i in range(1,101):print"FizzBuzz"[i*i%3*4:8--i**4%5]or i ネタフリありがとう!<id:Voluntas

GUIDをちゃんと作る

COMコンポーネントを作るうえで避けられないGUID作成について。 (今回僕がGUID作成したいのは、COMコンポーネント用ではないんだけどね) よくあるGUID作成説明では、 import pythoncom print pythoncom.CreateGuid() という風にGUIDを作っていますが、これ、…

[pywin32]win32comでCOM serverを作ったとき、スクリプトを更新しても実行中イメージが更新されない問題

COM serverとしてあがっている間は、 元のPythonのスクリプトを更新しても実行イメージが変わらない。 The Python world tries to be polite [formerly offensive to another language] シェルエクステンションを作っているので、 explorer.exeを亡くならせ…

win32com.server.register.UseCommandLineのオプション一覧

win32com.server.register.UseCommandLineのオプション一覧 --unregister_info --unregister --quiet --debug debugを指定すると、PythonWinのTools->Trace Collector Debugging toolに出力が出る。 もしくは、C:\Python25\Lib\site-packages\win32\lib\win3…

ツールバーに入れたwxLabelの背景色が白くなってしまう。

xrcedでツールバーにラベルを入れてみたんだけど、 なぜか背景色が白くなってしまう @ windows環境。 誰かヘルプ!!!

ジェネレータ初めて使ってみた

SQLを実行して、その行を1つずつyieldする。 こんな使い方であっているかな。 def search_tags(self, tags): query = ' and '.join(['tag = ?' for w in tags]) self.cur.execute('SELECT id, fullpath, filetitle, ext, size, sha512, mtime FROM files WHE…