scikit-learn/scikit-learn — pull request #3363 by ogrisel (2014-07-11 08:32:44+00:00)
Title: [MRG] Add Windows continuous integration with AppVeyor CI

AppVeyor is a system similar to travis that provides a Windows based build environment with MSVC++ Express 2008 and 2010 pre-installed along with the matching Windows SDKs for 64 bit builds. This PR configures how to build scikit-learn, generate .whl and .exe packages for 4 supported target platforms: Python 3.4 & 2.7, each with 32 and 64 bit.

This PR also has a workaround / fix for #3255: some common tests that call `fit_transform` twice (with a fixed random state) do not deterministic output on 32 bit Python (both 2 and 3) for some estimators that use LAPACK routines like SVD or eigen solvers. Note the numpy / scipy libraries tested here come from [Christoph Gohlke's distribution](www.lfd.uci.edu/~gohlke/pythonlibs/) and are therefore linked with MKL. However I also had non-deterministic `fit_transform` for the same bunch of estimators when I manually built numpy and scipy with OpenBLAS on a Rackspace windows VM a while ago so the problem is not tied to the use of MKL. I therefore decided to catch `AssertionError` and raise `SkipTest` instead for this specific `test_common` check under 32 bit platforms.