Generally, you will want to install pymssql with:
pip install pymssql
FreeTDS is required. On some platforms, we provide
a pre-compiled FreeTDS to make installing easier, but you may want to install
FreeTDS before doing
pip install pymssql if you run into problems or need
features or bug fixes in a newer version of FreeTDS. You can build FreeTDS
from source if you want the
latest. If you’re okay with the latest version that your package manager
provides, then you can use your package manager of choice to install FreeTDS.
sudo apt-get install freetds-dev
Mac OS X with Homebrew:
brew install freetds
Another possible way to get started quickly with pymssql is to use a Docker image.
See the Docker docs for installation instructions for a number of platforms; you can try this link: https://docs.docker.com/installation/#installation
There is a pymssql docker image on the Docker Registry at:
It is a Docker image with:
- Ubuntu 14.04 LTS (trusty)
- Python 2.7.6
- pymssql 2.1.2.dev
- FreeTDS 0.91
- SQLAlchemy 0.9.8
- Alembic 0.7.4
- Pandas 0.15.2
- Numpy 1.9.1
- IPython 2.3.1
To try it, first download the image (this requires Internet access and could take a while):
docker pull pymssql/pymssql
Then run a Docker container using the image with:
docker run -it --rm pymssql/pymssql
By default, if no command is specified, an IPython shell is invoked. You can override the command if you wish – e.g.:
docker run -it --rm pymssql/pymssql bin/bash
Here’s how using the Docker container looks in practice:
$ docker pull pymssql/pymssql ... $ docker run -it --rm pymssql/pymssql Python 2.7.6 (default, Mar 22 2014, 22:59:56) Type "copyright", "credits" or "license" for more information. IPython 2.1.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In : import pymssql; pymssql.__version__ Out: u'2.1.1' In : import sqlalchemy; sqlalchemy.__version__ Out: '0.9.7' In : import pandas; pandas.__version__ Out: '0.14.1'
The pymssql package consists of two modules:
pymssql– use it if you care about DB-API compliance, or if you are accustomed to DB-API syntax,
_mssql– use it if you care about performance and ease of use (
_mssqlmodule is easier to use than
And, as of version 2.1.x it uses the services of the
db-lib component of
FreeTDS. See the relevant FreeTDS documentation for additional details.
Remember to install FreeTDS first.
Discussions and support take place on pymssql mailing list here: http://groups.google.com/group/pymssql, you can participate via web, e-mail or read-only subscribing to the mailing list feeds.
This is the best place to get help, please feel free to drop by and ask a question.
Current release: 2.x is the branch under current development. It is a complete rewrite using Cython and the latest FreeTDS libraries (which remove many of the limitations of previous versions of FreeTDS).
Legacy release: 1.0.3 is the legacy version and is no longer under active development.
This documentation is for pymssql 2.x.
The document set you are reading describes exclusively the code base of pymssql 2.x and newer. All description of functionality, workarounds, limitations, dependencies, etc. of older revisions has been removed.
If you need help for building/using pymssql 1.x please refer to the old Google Code documentation Wiki.
Official development repositories and issue trackers have been moved to GitHub at https://github.com/pymssql/pymssql.
We would be happy to have:
- A couple more developers
- Help from the community with maintenance of this documentation.
If interested, please connect with us on the mailing list.