2012年6月17日日曜日

エキスパートPythonプログラミング読書会 第二期 07に参加しました。

エキスパートPythonプログラミング読書会 第二期 07 - connpass
に参加してきました。

エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス
売り上げランキング: 36822

最近Blog書いてないなーということで書きます。
遅刻かと思ったけど、何とか時間までについて良かった。
当日の様子はこちら。
エキスパートPythonプログラミング読書会 第二期 07 - Togetter

1.アイスブレイク
恒例のアイスブレイク、各島ごと(4名程度)で簡単に自己紹介をしました。
以下自己紹介順に、
  • @usaturn 面談したら実は同じ会社だったと言うオチ
  • @taison PHPゴリゴリからDjango git wiki google document活用してる。
  • @shimizukawa 台湾行って来ました。最近はSencha Touchとかやってる。
2.「5章 パッケージを作る」
  • setuptoolsとdistribute使える環境があったらdistributeを使いましょう。
  • いままで
    • distutils: Python3.2までの標準
    • setuptools: 業界標準(ez_setupで入れる)
    • distribute: setuptools上位互換
      (distribute_setup.pyで入れる)
    • pip: setuptools/distributeを活用して使いやすいコマンドライン
    • buildout: setuptoolsを活用した環境構築ツール
    • virtualenv: Pythonのユーザーランド仮想環境作成ツール
  • これから↓
    • Distutils2: packagingと同じものでPyhton2.4-3.2で使えるようにしたもの。
      (実際はPython2.6-3.2。シンタックス対応が大変だねという話)
      →しかしこれによってパッケージの手法が必ずしも綺麗になるわけでないと関係者が頭抱えてる。
    • packaging: Python3.3からの標準
    • pip?: packaging上で動くようになる?(virtualenvはどうだかわからない)
    • pythonv: virtualenvをPython3.2から標準でできるようにしたもの(実装別)
  • パッケージング: 「パッケージを作ろう」と「Python3.3のパッケージ」がある。
    • PyPIの配布物(PYPIにもpackagingという名前で登録されているものがある)
    • Python言語自体のパッケージ(import……の,名前空間パッケージ←応用)
    • Python言語自体のパッケージは_とつけてれば安心と理解した。手を動かして理解しよう!
  • sdist = soure distribution
  • eggの圧縮はPython3.3では圧縮される?
    →eggがありません。eggみたいなものは今議論されていない(すげー困る。ほとんどの環境で動かなくなる)
  • python setup.py check というコマンドがある。
    setup.pyの構文チェックができる。
  • buildとbdist: バイナリ配布用のパッケージを作ってくれる。
    あんま使わないほうがいい → bdistを拡張したbdist_eggを使おう。
  • bdist_egg: どのPythonでbuildされたかわかるものが作られる。
    eggも出来る。素直な、依存関係のないeggが生成される。
    install_requiresで、依存関係のパッケージもPyPIから見つけてインストールしてくれる。
  • アンインストールについてはpipにお任せしましょう。
  • develop: -linkだとPython PATHに自動的に追加されるので、どこにいても import aodag とかいうことが出来るようになる。-uオプションで削除ができる。
  • test: test_suite, tests_requireを確認してくれる。
    python setup.py sでオプションが全部出てくる
  • PyPIはbasic認証で大変いけてない。
    .pypircのPasswordの行を削除すると、毎回Passwordをきいてくれる仕様にできる。
  • list printerとかPyPIで調べるといっぱいできる。
    →テストで登録したものはちゃんと消しましょう。
  • alias: setup.cfgに追記してくれる。
  • 最近はまだまともですが、この本の読んでからじゃないとdistutilsガイド、setuptoolsガイドが読みにくいと思われます。
  • テンプレートベースのアプローチは有用ではあるが、
    大抵がその内メンテしなくなる。
3.ビアバッシュ&LT 4.まとめ
パッケージ管理は今のところ distribute + virtualenv(pip)安定ですかね。
エキpyに書いてある内容で2〜3年は使えるそうです。
Python2.7は最低でも2017年までメンテナンスされる見込み(source→Python3と向かい合ってみる)なので、
最新の状況に乗り遅れないようにしつつ、
Pythonと向い合って行きたいです。

参考リンク

0 件のコメント:

コメントを投稿