インストールとテスト
ほとんどのユーザーは、PyPIでホストされている最新バージョンをインストールするだけで十分です。
pip install peewee
Peeweeには、Cythonが利用可能な場合にビルドされるC拡張機能がいくつか付属しています。
SQLite拡張機能には、SQLiteの日付操作関数、REGEXP演算子、および全文検索結果ランキングアルゴリズムのCython実装が含まれています。
gitを使ったインストール
プロジェクトはhttps://github.com/coleifer/peeweeでホストされており、gitを使用してインストールできます。
git clone https://github.com/coleifer/peewee.git
cd peewee
python setup.py install
注意
システムによっては、peeweeをシステム全体にインストールするためにsudo python setup.py install
を使用する必要がある場合があります。
gitチェックアウトでSQLite拡張機能をビルドする場合は、次のコマンドを実行できます。
# Build the C extension and place shared libraries alongside other modules.
python setup.py build_ext -i
テストの実行
テストスイートを実行することで、インストールをテストできます。
python runtests.py
runtests.py
スクリプトを使用して、特定の機能または特定のデータベースドライバをテストできます。 利用可能なテストランナーオプションを表示するには、次を使用します。
python runtests.py --help
注意
PostgresまたはMySQLに対してテストを実行するには、「peewee_test」という名前のデータベースを作成する必要があります。 Postgres拡張モジュールをテストするには、postgresテストデータベースにHStore拡張機能もインストールする必要があります。
-- install the hstore extension on the peewee_test postgres db.
CREATE EXTENSION hstore;
オプションの依存関係
注意
Peeweeを使用するために、標準ライブラリ以外に必要なものは通常ありません。 ほとんどのPythonディストリビューションはSQLiteサポート付きでコンパイルされているためです。 Pythonコンソールでimport sqlite3
を実行することでテストできます。 別のデータベースを使用する場合は、MySQLとPostgres用にそれぞれpymysql
やpsycopg2
など、多くのDB-API 2.0互換ドライバがあります。
Cython: SQLiteを使用する場合に追加機能を公開し、検索結果ランキングなどの機能を実装するために使用されます。生成されたCファイルはパッケージ配布に含まれているため、C拡張機能を使用するためにCythonは不要になりました。
apsw: より高いパフォーマンスとSQLiteのC APIの包括的なサポートを提供するオプションのサードパーティ製SQLiteバインディングです。
APSWDatabase
で使用します。gevent は
SqliteQueueDatabase
のオプションの依存関係です(threading
でも問題なく動作しますが)。BerkeleyDB は、Peeweeで動作するSQLiteフロントエンドでコンパイルできます。 コンパイルは難しい場合があるため、ここに手順があります。
最後に、*Flask*フレームワークを使用する場合、ヘルパー拡張モジュールが利用可能です。
SQLite拡張機能に関する注意
Peeweeには、SQLiteデータベースユーザーに追加機能とパフォーマンスの向上を提供する2つのSQLite固有のC拡張機能が含まれています。 Peeweeは、SQLite3がインストールされているかどうかを事前に判断しようと試み、システムでSQLite共有ライブラリが利用可能な場合にのみSQLite拡張機能をビルドします。
ただし、Peeweeのインストールを試みるときに次のようなエラーが発生した場合は、NO_SQLITE
環境変数を設定することで、SQLite C拡張機能のコンパイルを明示的に無効にできます。
fatal error: sqlite3.h: No such file or directory
SQLite拡張機能を明示的に無効にしてPeeweeをインストールする方法は次のとおりです。
$ NO_SQLITE=1 python setup.py install