Title: Difficult to compile python in Visual Studio 2010 express
Type: enhancement Stage:
Components: Build Versions: Python 2.7
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: Tom.Whittock, brian.curtin, loewis, r.david.murray
Priority: normal Keywords: patch

Created on 2011-06-05 13:17 by Tom.Whittock, last changed 2011-06-05 17:54 by loewis. This issue is now closed.

File name Uploaded Description Edit
vs2010-express.patch Tom.Whittock, 2011-06-05 13:17 Patch which adds compilation support for 2010 express
Messages (9)
msg137693 - (view) Author: Tom Whittock (Tom.Whittock) Date: 2011-06-05 13:17
The automatic upgrade process included with Microsoft Visual Studio 2010 express is unable to deal with the project files in the python PC folder, due to it not supporting the x64 target. I had to manually edit the project files to remove all references to x64 before being able to upgrade the project. Included is a mercurial patch against the 2.7 line which adds project files for the 2010 express edition.
msg137695 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2011-06-05 13:44
We don't currently support any flavor of VS2010.  Since 2.7 is in bug fix mode only, it is not clear that we will add such support.  But since it is a long term maintenance release the rules may be different.
msg137696 - (view) Author: Tom Whittock (Tom.Whittock) Date: 2011-06-05 13:49
Fair enough. The reason I added it is because that's the most easily available free compiler for Windows machines at the moment, and due to the lack of x64 support it's not easy to start compiling python with it. It's quite awkward to get earlier express editions, and of course it costs money to get the pro edititons which would do the automatic upgrade with no trouble.

I could make you a 3.x patch for the same thing if you like? I happen to be using 2.7 at work so I just did what I needed.
msg137697 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2011-06-05 14:06
I have a fully working VS2010 build that I'm working on getting the ok to contribute from my employer. We may be able to use this for 3.3 but nothing earlier. I started a discussion on the Python-Dev list a few months ago but I don't believe we reached a consensus on supporting 2010 yet (IIRC).
msg137698 - (view) Author: Tom Whittock (Tom.Whittock) Date: 2011-06-05 14:10
Wouldn't a full (I assume you mean pro/team edition) 2010 version will include the x64 stuff which will make the express edition unable to load it?
msg137699 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2011-06-05 14:38
We have to have x64 support, and the 2010 express version can now target x64 provided you have the x64 SDK installed. That wasn't true of 2008, but there were some registry/config file messing you could do in order to get x64 support out of 2008.
msg137700 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2011-06-05 15:00
Also, what I meant by "full" (in "fully working") in my message was that the full test suite passes. There are a number of code changes that have to be made, mostly around various constants used, e.g., in the socket module.
msg137701 - (view) Author: Tom Whittock (Tom.Whittock) Date: 2011-06-05 15:06
Ah, in that case it seems my patch isn't particularly useful then. I'd personally like to see Brian Curtins patch applied sooner rather than later, however - 2010 support is very important to me.

I'll be running that locally for the meantime, and I guess others could apply my patch if they find themselves in my situation also in the meantime.

I had no idea about the x64 support in express - useful info, thanks for that.
msg137705 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-06-05 17:54
I'm rejecting this patch - it's not the right approach to this problem.

If we want to support VS 2010 project files in some form, we should generate them out of the VS 2008 files, similar to the vs9to8 script. The conversion result should definitely support AMD64 builds - as Brian points out, VS 2010 *does* support AMD64, if the SDK is installed. 

Given that the automatic conversion works fairly well, though, I don't think anything needs to be done for 2.7 (except perhaps writing some documentation into PCbuild/readme.txt).

For 3.3, I would personally favor if Python would skip over VS 2010, and move right to VS 2012 (please don't discuss this aspect in this issue).
Date User Action Args
2011-06-05 17:54:49loewissetstatus: open -> closed
resolution: rejected
messages: + msg137705
2011-06-05 15:06:54Tom.Whittocksetmessages: + msg137701
2011-06-05 15:00:43brian.curtinsetmessages: + msg137700
2011-06-05 14:38:19brian.curtinsetmessages: + msg137699
2011-06-05 14:10:25Tom.Whittocksetmessages: + msg137698
2011-06-05 14:06:40brian.curtinsetmessages: + msg137697
2011-06-05 13:49:17Tom.Whittocksetmessages: + msg137696
2011-06-05 13:44:19r.david.murraysetnosy: + r.david.murray, loewis, brian.curtin
messages: + msg137695
2011-06-05 13:17:54Tom.Whittockcreate