インストールとテスト

ほとんどのユーザーは、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用にそれぞれpymysqlpsycopg2など、多くのDB-API 2.0互換ドライバがあります。

  • Cython: SQLiteを使用する場合に追加機能を公開し、検索結果ランキングなどの機能を実装するために使用されます。生成されたCファイルはパッケージ配布に含まれているため、C拡張機能を使用するためにCythonは不要になりました。

  • apsw: より高いパフォーマンスとSQLiteのC APIの包括的なサポートを提供するオプションのサードパーティ製SQLiteバインディングです。APSWDatabaseで使用します。

  • geventSqliteQueueDatabase のオプションの依存関係です(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