To build pymssql you should have:
- python >= 2.5 including development files. Please research your OS usual
software distribution channels, e.g,
python-dev
orpython-devel
packages. - Cython >= 0.15
- FreeTDS >= 0.91 including development files. Please research your OS usual
software distribution channels, e.g,
freetds-dev
orfreetds-devel
packages.
Add to the above requirements:
- MinGW
then you can run:
python setup.py build -c mingw32
which will build pymssql in the normal python fashion.
The commands below should be ran inside a Visual Studio command prompt or a
command prompt window where the vcsvars*.bat
file has been previously run so
it can set the needed environment vars.
Build FreeTDS from the current or stable tarball.
Use nmake
(included with VS C++) to build FreeTDS. To do that,
Define in the environment or on the command line:
CONFIGURATION
=debug
/release
PLATFORM
=win32
/x64
These will determine what is built and where outputs are placed.
Example invocations:
nmake.exe -f Nmakefile -nologo PLATFORM=win32 CONFIGURATION=debug nmake.exe -f Nmakefile -nologo build-win32d
Fixing build errors: I ran into a couple build errors when using VS 2008, see the following links for resolutions:
- http://www.freetds.org/userguide/osissues.htm
- http://lists.ibiblio.org/pipermail/freetds/2010q4/026343.html
When this is done, the following files should be available (depending on
CONFIGURATION
and PLATFORM
used above):
src\dblib\<PLATFORM>\<CONFIGURATION>\db-lib.lib src\tds\<PLATFORM>\<CONFIGURATION>\tds.lib
for example:
src\dblib\win32\release\db-lib.lib src\dblib\win32\release\tds.lib
Those files should then be copied to:
<pymssql root>\freetds\vs2008_<bitness>\lib\
for example:
<pymssql root>\freetds\vs2008_32\lib\ <pymssql root>\freetds\vs2008_64\lib\
The location obviously depends on whether you are performing a 32 or 64 bit build.
Note
This process is currently only tested with Visual Studio 2008 targeting a 32-bit build. If you run into problems, please post to the mailing list.
Then you can simply run:
python setup.py build
or other setup.py
commands as needed.
To build on Unix you must also have:
- gcc
Then you can simply run:
python setup.py build
or other setup.py
commands as needed.
!DANGER!
ALL DATA IN TESTING DBS WILL BE DELETED !!!!
You will need to install two additional packages for testing:
easy_install nose SQLAlchemy
You should build the package with:
python setup.py develop
You need to setup a tests.cfg
file in tests/
with the correct DB
connection information for your environement:
cd tests/ cp tests.cfg.tpl tests.cfg vim|emacs|notepad tests.cfg
To run the tests:
cd tests/ nosetests
Which will go through and run all the tests with the settings from the DEFAULT
section of tests.cfg
.
To run with a different tests.cfg
section:
nosetests --pymssql-section=<secname>
example:
nosetests --pymssql-section=AllTestsWillRun
to avoid slow tests:
nosetests -a '!slow'
to select specific tests to run:
nosetests test_types.py nosetests test_types.py test_sprocs.py nosetests test_types.py:TestTypes nosetests test_types.py:TestTypes.test_image