安装和测试
大多数用户只需安装Pypi上托管的最新版本:
pip install peewee
Peewee附带了几个C扩展,如果Cython可用的话,这些扩展将被构建。
sqlite扩展,包括sqlite日期操作函数的cython实现、regexp运算符和全文搜索结果排名算法。
使用Git安装
该项目位于https://github.com/coliefer/peewee,可以使用git安装:
git clone https://github.com/coleifer/peewee.git
cd peewee
python setup.py install
备注
在某些系统上,您可能需要使用 sudo python setup.py install
在整个系统范围内安装Peewee。
如果要在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运行测试,您需要创建一个名为“peeweeu-test”的数据库。要测试Postgres扩展模块,您还需要在Postgres测试数据库中安装hstore扩展:
-- install the hstore extension on the peewee_test postgres db.
CREATE EXTENSION hstore;
可选依赖项
备注
要使用peewee,通常不需要标准库之外的任何东西,因为大多数python发行版都是使用sqlite支持编译的。你可以通过跑步来测试 import sqlite3
在python控制台中。如果您希望使用另一个数据库,那么有许多与DB-API 2.0兼容的驱动程序,例如 pymysql
或 psycopg2
分别针对mysql和postgres。
Cython :用于在使用sqlite时公开附加功能,并以性能方式实现搜索结果排名等功能。由于生成的C文件包含在包分发中,因此不再需要Cython使用C扩展名。
apsw :可选的第三方SQLite绑定,为SQLite的C API提供更高的性能和全面的支持。使用与
APSWDatabase
.gevent 是的可选依赖项
SqliteQueueDatabase
(尽管它与threading
很好。BerkeleyDB 可以使用SQLite前端进行编译,该前端与Peewee配合使用。编译可能会很棘手,所以 here are instructions 。
最后,如果使用 Flask 框架,有助手扩展模块可用。
关于sqlite扩展的说明
Peewee包含两个特定于sqlite的C扩展,为sqlite数据库用户提供额外的功能和改进的性能。Peewee将尝试提前确定是否安装了sqlite3,并且仅在系统上有sqlite共享库时构建sqlite扩展。
但是,如果在尝试安装peewee时收到如下错误,则可以通过设置 NO_SQLITE
环境变量。
fatal error: sqlite3.h: No such file or directory
以下是如何在显式禁用sqlite扩展的情况下安装peewee:
$ NO_SQLITE=1 python setup.py install