daemonfreaks.com

Python Workshop the Edge 2007

posted by jun-g at Sun, 01 Jul 2007 02:08 JST

あーやっぱり行けばよかった…とライブ中継を見ながらかなり後悔した。

distutilsでCコンパイラにMinGWを使うように設定

posted by jun-g at Sun, 17 Jun 2007 19:43 JST

distutils/setuptoolsを利用してライブラリをインストールする際、ライブラリによってはCコンパイラを要求してくる場合がある。Windowsの場合標準ではCコンパイラがインストールされていない上、distutilsのデフォルトの設定だとCコンパイラにVCを要求してくるので、MinGWを使用するように設定してみた。

まずはMinGWのインストール。MinGWについては全然詳しくないので、C-Compiler Wiki - MinGW/インストールのページを参考にインストール、および設定を行った。

MinGWのインストールが完了したら、次にdistutilsの設定。distutilsのディレクトリ(Python2.5のデフォルトインストールパスだと、C:\Python25\Lib\distutils)の中に「distutils.cfg」というファイルを作成し、そのファイルに下記を記述して保存した。

[build]
compiler=mingw32

以上の設定でコンパイラにMinGWが使用されるようになった。これでeasy_install使ってガンガンライブラリをインストールできるようになったぜ!という事で一件落着。

散歩

posted by jun-g at Sun, 03 Jun 2007 03:09 JST

散歩でチルアウトが最近のマイブーム。

  • メガネはかけない
  • 音楽は聴かない
  • 歩きすぎない
  • できるだけ荷物は持たない
  • できるだけ車の少ない静かな道を選ぶ

みたいな自分ルールを決めて、だいたい週一回、一時間ぐらいかけて散歩するようにしている。といってもまだ二回しかしてないけど。

一人で歩いているとつい考え事をしてしまうので、ムカツク事思い出してイライラしてしまったりもするけれど、大きい公園に行って緑の中をのんびり歩いていると、心が落ち着ちつくし、動物もいたりして結構楽しい。

カモ

乗馬場

カモ

親子のカモ

鯉と亀

亀が3匹

写真が撮りたかったので携帯持っていったけど、やっぱり邪魔やったな…。次回からはまた手ぶらで行こう。

Mod_pythonアプリケーションをpdbでデバッグ

posted by jun-g at Mon, 28 May 2007 17:47 JST

今年の2月にリリースされたMod_python-3.3.1から、ディレクティブで設定できる項目が沢山増えてる事にこないだ気づいた。その中にPythonEnablePdbっていう設定を発見。え?mod_pythonでpdb使えるの?って事で試してみた。

test.pyとして以下のコードをpublic_html直下に置いた。

# coding: utf-8

from mod_python import apache

def handler(req):
    req.content_type = "text/plain"
    req.write("Hello, Mod_python!\n")
    return apache.OK

でもって.htaccessに以下を設定を書いた。

AddHandler python-program .py
PythonHandler test
PythonEnablePdb On

ブラウザからリクエストを投げてみると、何事もなくブラウザ上に「Hello, Mod_python!」と表示された。ドキュメントには「httpdを-DONE_PROCESSオプションを付けて起動せよ」と書いてあるので、その通りapacheを再起動してみる。

# apachectl -k stop
# apachectl -DONE_PROCESS

すると、コマンドライン上はプロンプトが返ってこず、応答待ちの状態となった。psコマンドで見てみると、httpdプロセスはひとつだけ動いてる状態になっている。

# ps ax | grep http
78398  p4  S+     0:01.73 /usr/local/sbin/httpd -DONE_PROCESS

この状態でブラウザからリクエストを投げてみると、応答待ちだったコマンドライン上でおもむろにpdbが起動し、コマンド入力待ちになった。適当にpdbのコマンドを実行してみる。

> /home/jun-g/public_html/test.py(6)handler()
-> req.content_type = "text/plain"
(Pdb) l
  1     # coding: utf-8
  2  
  3     from mod_python import apache
  4  
  5     def handler(req):
  6  ->     req.content_type = "text/plain"
  7         req.write("Hello, Mod_python!\n")
  8         return apache.OK
  9  
[EOF]
(Pdb) p req.uri
'/~jun-g/test.py'
(Pdb) r
--Return--
> /home/jun-g/public_html/test.py(8)handler()->0
-> return apache.OK
(Pdb) s

最後まで実行すると普通にブラウザに応答が返ってきた。なるほど。本当にpdbでデバッグできるようになってるみたい。

しかし…これは…便利なのか…?普段ほとんどpdbを使っていないからかもしれないけど、便利かどうか判断がつかない。個人的には今までどおりprintデバッグで十分かな。あと-DONE_PROCESSで起動した場合のhttpdの止め方がわからん。apachectl -k stopでは止まらなかったので、結局kill -9で殺した。

他に以前のバージョンとの違いで気付いた点は

  • PythonDebugを有効にした場合のトレースバックに色々情報が出るようになった。
  • PythonPathに仮想ディレクトリを指定するとエラーになるようになった。

ぐらいかな。あと、mod_pyhton.util.Fieldもちょっと変わってて、以前書いたコードがそのままじゃ動かなかった。けどそれは以前のコードの書き方がまずかっただけかもしんないので、詳細はふせとこう。

ところでDjangoとかTrac経由じゃなくて、直接Mod_python触ってる人っているんかな…。

東海 Python Workshop 01 に参加してきた

posted by jun-g at Sun, 27 May 2007 18:45 JST

予定どおり、東海PythonWorkshop01に参加してきた。ので大雑把に内容と感想など。

どこでもPython

aodag隊長によるPythonの紹介。Pythonを使っている企業や団体、Pythonで出来る事や特徴、基本的な書き方などを高橋メソッドでザーっと紹介。GUIツールキットの紹介に、py-gtkが含まれていなかったのは何故なんだぜ?

Ploneで快適CMS 導入から使いこなし

nyusukeさんによる、Ploneの紹介。PloneというかZopeはどうも「高機能すぎて難しい」という先入観から来る苦手意識があって、職場に導入こそしているものの、ほとんど使いこなせていない。nyusukeさんの説明はすごく丁寧で、「あ、そんな事も簡単にできちゃうなら、もうちょっとちゃんと勉強して使ってみようかな」という気になった。プロダクトを活用すれば、社内向けにバラバラに動いているサービスも、Ploneに集約できちゃいそうな感じやし。

Djangoで始めるデザイナー的フレームワーク入門

pateoさんによる、デザイナー視点から見たDjangoの紹介。今回の発表用にTwitter風なmonologistaというサイトを作ったとのこと。しかもほとんどGenericViewsだけで出来た、との事。ほとんどコードを書かなくて済むDjangoはデザイナーにおすすめ、という事らしい。なるほど。

Djangoの話で良く出てくるGenericViews、いまだに何の事なのかさっぱりわからない。そろそろ一度Djangoを触ってみた方が良いのかも。

WSGIの日々 名もなきフレームワーク

再度aodag隊長の発表。WSGIの概要紹介と、aodag隊長が制作中のオレオレWEBアプリケーションフレームワークの構成と設計の紹介。知らない名前が大量に出てきたのでメモメモ。

lightyってlighttpdの事だったのか。知らんかった。

ここからはライトニングトーク。

CASによるDjango,Plone間でのシングルサインオン

佐古田さんによるライトニングトーク。CASってのはCentral Authendication Serviceという、Servletで動作する認証サーバの事。クライアントの実装も色々あるみたいなので、便利そうでいいなーと思った。でもこういう認証サーバって、ユーザー毎アプリ毎のロールの設定とかも出来るんかな…?

それってPythonプログラミングなの?

ymasudaさんによる、PythonからCのライブラリなんかを操作する方法についての話。紹介された方法は、

の4つ。PyInstantはPythonコード中にCのコードを埋め込み、実行するとおもむろにコンパイルが始まるらしい。ワラタ。

やってみよう視覚化

jbkingさんによる、Graphvizを使って、コードからドキュメントだけじゃなく、グラフをも自動生成してしまえ、という「書かない技術」ならぬ「描かない技術」の話。すげーっす。あと、VPythonを使って、3Dで視覚化するというネタもあるそうな。おもろい。

Webテストツール pamie

Hanaokaさんによる、IE自動操作ツールpamieの紹介。自動操作なのでテスト以外にも色々使えるよね、というお話し。面白そうなので休み明けに職場のPCに早速インストールしてみよう!

Pythonコミュニティとの付き合い方

kfuruhataさんによる、勉強会や合宿の紹介。Pythonistaはみんなまじめで合宿大好き。勉強会は男だらけ。そして合宿で皆でギューギューになりながら露天風呂につかって親密になりすぎる、と。ちょ、それって…w

以上でWorkshop終了。でもって場所を居酒屋に移して懇親会。全員の方とお話できなかったのが残念やったけど、楽しかった。相手してくれた皆様、ありがとうございました。ちなみに、メガネ+モヒカンの人が僕です。名古屋は大阪からだと新幹線で一時間程度で行けるので、今後も東海イベントには気軽に遊びに行きたいな~と思った。

皆様お疲れさまでした。

<<  Page 107 of 125  >>