PyMySQL
This package contains a pure-Python MySQL client library. The goal of PyMySQL is to be a drop-in replacement for MySQLdb and work on CPython, PyPy, IronPython and Jython.
Requirements
- Python 2.6, 2.7 or 3.3
- MySQL 4.1 or higher
- protocol41 support, experimental 4.0 support
Installation
The last stable release is available on PyPI and can be installed
with pip:
$ pip install PyMySQL
Alternatively (e.g. if pip is not available), a tarball
can be downloaded from GitHub and installed with Setuptools:
$ # X.X is the desired PyMySQL version (e.g. 0.5 or 0.6).
$ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz
$ cd PyMySQL*
$ python setup.py install
$ # The folder PyMySQL* can be safely removed now.
Test Suite
If you would like to run the test suite, first copy the file
.travis.databases.json to
pymysql/tests/databases.json and edit the new file to match
your MySQL configuration:
$ cp .travis.databases.json pymysql/tests/databases.json
$ $EDITOR pymysql/tests/databases.json
To run all the tests, execute the script
runtests.py:
$ python runtests.py
A tox.ini file is also provided for conveniently running
tests on multiple Python versions:
$ tox
Resources
DB-API 2.0: http://www.python.org/dev/peps/pep-0249
MySQL Reference Manuals: http://dev.mysql.com/doc/
MySQL client/server protocol: http://dev.mysql.com/doc/internals/en/client-server-protocol.html
PyMySQL mailing list: https://groups.google.com/forum/#!forum/pymysql-users
License
PyMySQL is released under the MIT License. See LICENSE for more information.
