buildout.cfgの調整
まだ掲示板は完成していませんが、データモデルとテストの実装までができましたので、今後の配布のことを考えて、buildout.cfgファイルを少し変更しておきましょう。
このファイルは、zc.buildoutというソフトウェアの開発と配布を便利にしてくれるPythonで作られたシステムの設定ファイルです。
ファイルの中身はいわゆるINIファイル形式で、テキストエディタで編集できます。grokprojectのデフォルトでは最新の開発版パッケージを使うようになっているのですが、配布のときにパッケージ間の依存関係に問題が出るときがあります。ここではバージョンを指定して、依存関係の問題が出ないように変更します。zc.buildoutの詳しい機能については、今後の連載で触れていきたいと思います。
それでは、現在のbuildout.cfgの中を見てみましょう。以下はbuildout.cfgファイルの先頭部分です。ここで紹介しているbuildout.cfgはgrok-0.13用のものです。先日リリースされた最新版のgrok-0.14を使っている場合には少し違う部分があります。次回の記事で0.13から0.14に移行する方法を紹介します。
[buildout] |
buildout.cfg |
eggs-directoryは筆者の環境のものですが、皆さんのファイルには別の値が書かれていると思います。これが配布時にはトラブルのもとになるので、削除しておきましょう。eggs-directoryの設定がなければ、buildoutは個々のユーザーの設定を使うようになります。
さらに変更する必要があるのは、find-linksです。初期値は最新のパッケージを使う設定になっているので、すでにバージョンが固定されているZope 3.4版のパッケージを使うように変更します。
grok-0.13ではパッケージ間の依存関係の問題があり、上手くビルドできない場合があります。それを解決するために2つのパッケージのバージョンを固定します。grok-0.14を使っている場合には問題ありません。[versions]のセクションで「パッケージ名 = バージョン」と記述して、利用するパッケージのバージョンを指定できます。変更後のbuildout.cfg(先頭部分のみ)は次のようになります。
[buildout] |
buildout.cfg |
[buildout]の項目を変更し、[versions]を新たに追加しました。
buildout.cfgを更新したら、最後にbuildoutコマンドを実行して、開発環境を更新しましょう。
$ ./bin/buildout |
以上で、開発環境は更新されました。buildout.cfgの変更は利用するパッケージの追加や初期設定ファイルの変更などに行い、その都度、buildoutコマンドを実行する必要があるので覚えておきましょう。
Subversionにコミットする
それでは、ここまでに開発した分をレポジトリにコミットしておきましょう。コミットするべきファイルは、grokprojectコマンドで開発環境を作ったときに自動的に追加されているものと、src以下のディレクトリとPythonのソースコードです。以下がその一覧です。
buildout.cfg |
以上、今回はアプリケーションの開発の初めの一歩、データモデルとスキーマの定義、簡単なユニットテストとソースコード管理について見てきました。
今回作成したソースコードをダウンロードできるようにしましたので、圧縮ファイルを展開後に、buildoutコマンドを使ってセットアップしてください。
ファイルダウンロード: | |
MyForum_atmarkit_zope3_03.tar.gz |
また、自分でどんどんZope 3とGrokを勉強したいという方は、ぜひGrokのWebサイトとZope.orgのレポジトリをご覧になることをお勧めします。
関連リンク: | |
Grok http://grok.zope.org/ |
|
Zope.orgのGrokサンプルアプリケーション http://svn.zope.org/grokapps/ |
次回は、grok-0.14への移行方法の解説、そして掲示板の表示と入力の機能の実装を通して、もっとWebアプリケーションらしい部分、HTMLを生成するテンプレートと入力フォームを中心に、MVCのVであるビュー機能について、第2回よりも深く掘り下げていきたいと思います。お楽しみに。
3/3 |
Index | |
掲示板を作ろう(データモデルの定義とユニットテスト) | |
Page1 grokprojectでアプリケーションの開発環境を作る データモデルを考える |
|
Page2 インターフェイスでスキーマを定義する ユニットテストを書く |
|
Page3 buildout.cfgの調整 Subversionにコミットする |
Zope 3とは何ぞや? |
Coding Edgeお勧め記事 |
いまさらアルゴリズムを学ぶ意味 コーディングに役立つ! アルゴリズムの基本(1) コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう |
|
Zope 3の魅力に迫る Zope 3とは何ぞや?(1) Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか? |
|
貧弱環境プログラミングのススメ 柴田 淳のコーディング天国 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く? |
|
Haskellプログラミングの楽しみ方 のんびりHaskell(1) 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう |
|
ちょっと変わったLisp入門 Gaucheでメタプログラミング(1) Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|