Extensions usually need to be built with the same compiler version as the interpreter. This is because each compiler version uses a different and incompatible CRT, until VS 2015 that is. You can read more about that here.

If you're missing the required compiler you usually get a vague error: Unable to find vcvarsall.bat .

For Python 2.7 * For Python 2.7 you need to get Microsoft Visual C++ Compiler for Python 2.7. It's a special package made by Microsoft that has all the stuff. It is supported since setuptools 6.0 . Unfortunately the latest virtualenv, 1.11.6 as of now, still bundles setuptools 3.6 . This means that if you try to run python setup.py build_ext in an virtualenv it will fail, because setuptools can't detect the compiler. The solution is to force upgrade setuptools, example: pip install "setuptools>=6.0" . If you're using tox then just add it to your deps . Example: [testenv] deps = setuptools>=6.0 This seems to work fine for 64bit extensions. Note Probably works for Python 3.3 too.