大部分的用户想要通过pip简单的安装托管在PyPI的最新版本:
pip install peewee
Peewee包含两个可以被编译的C扩展库:
l Speedups她包含通过Cython重新实施的各种各样方法,如果你安装了Cython那么她可以自动被添加到库。
l Sqlite extensions她包含Cypthon SQlite日期操作函数的实现,正则运算,和全文搜索排序算法。这个模块可以通过命令build_sqlite_ext添加。
备注:
如果你已经安装了Cython,那么speedups模块可以自动被添加。如果你也想添加SQLite Cython extension,你必须通过运行命令:
python setup.py build_sqlite_ext
python setup.py install
通过git安装
这个项目托管在https://github.com/coleifer/peewee,所以你可以通过git安装:
git clone https://github.com/coleifer/peewee.git
cd peewee
python setup.py install
如果你想在git checkout里添加SQLite extension,你可以运行
# 构建sqlite扩展,并将共享库与其他模块一起放置。
python setup.py build_sqlite_ext -i
备注:
在一些系统上,你可能需要运行sudo python setup.py install来安装peewee。
执行测试
你可以通过执行测试套件来测试你的安装是否正常。
python setup.py test
# or use the test runner:
python runtests.py
你可以通过运行runtests.py脚本来测试特定的场景和或者测试特定的数据库驱动。默认情况下,测试套件是通过SQLite来运行,而playhouse扩展测试却没有运行。要查看运行测试可用选项可以用过执行:
python runtests.py --help
可选依赖关系
备注:
为使用peewee,你不需要任何额外的标准库,因为大部分的python发布版本都支持SQLite的编译。你可以通过在python控制台执行命令import sqlite3来测试。如果你想使用其他的数据库,有许多DB-API 2.0-compatible驱动,比如Mysql的pymysql和postgres的psycopg2。
l Cypthon:用于各种speedups。特别是在你使用SQLite时,可以极大的加速某些操作。
l apsw:可选的绑定SQLite第三方库,比标准库pysqlite具有更高的性能和更多更加清晰的语义,与APSWDatabase配合使用。
l pycrypto:用于AESEncryptedField.
l bcrypt模块用于PasswordField.
l vtfunc<http://github.com/coleifer/sqlite-vtfunc>用于为SQLite提供一些表值函数作为sqlite_udf扩展模块的一部分。
l gevent是SqliteQueueDatabase一个可选的依赖(虽然她很适用于threading)
l BerkeleyDB:她与peewee一起使用可以编译一个SQLite前端。编译可能很棘手,所以可以看这里说明。