How Can I Compile An Extension Using Cython?
Solution 1:
Here is an excerpt from one of my batch files:
rem Configure the environment for 64-bit builds.rem Use "vcvars32.bat" for a 32-bit build."C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat"rem Convince setup.py to use the SDK tools.set MSSdk=1set DISTUTILS_USE_SDK=1
The 7.1 SDK uses what is effectively VS2010 but Python 2.6 is compiled with VS2008. If you can use the 7.0 SDK (I think it is also known as the .NET 3.5 SDK), you will have access to VS2008's compiler. It is risky to mix different compilers and runtimes libraries.
Solution 2:
The docs at http://wiki.cython.org/64BitCythonExtensionsOnWindows say:
For Python 2.6, 2.7 and 3.1, you should use the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1. Later or earlier versions of the SDK will link with the wrong C runtime. Note that later versions of Python is likely to require a more recent version of the Windows SDK. This is required to make sure the extension is linked with the same C runtime version as Python. Using the correct version of the SDK is the only way to control this with Microsoft's build tools.
Solution 3:
Microsoft have a c compiler package specifically for Python 2.7 now.
I suggest you use that instead of the SDK and VS. The VS express edition doesn't have the 64-bit compiler, which is why you need the SDK, in theory. I tried installing the SDK but it didn't help. If you don't need the SDK or VS for anything else, uninstall them and use the compilers from http://www.microsoft.com/en-gb/download/details.aspx?id=44266.
In the event that you still have problems once you install the compilers, my answer on pyusb 2.7 windows install error may be helpful.
Post a Comment for "How Can I Compile An Extension Using Cython?"