Which Python format should I download?

5

1

I need to download Python to upload my project to Google App Engine. But I don't know which format to download:

  • Windows x86 MSI Installer (2.7.7)
  • Windows X86-64 MSI Installer (2.7.7)

Here's my system properties:

enter image description here

Mike

Posted 2014-06-21T09:32:38.470

Reputation: 221

Answers

4

You should download the Windows X86-64 MSI Installer (2.7.7) because your system is 64-bit. x64 uses a link register rather than pushing return addresses on the stack, so its a tad bit safer than its x86 counterparts. In addition, the x64 code will likely run a little faster.

For completeness, you could run both x86 and x64 on a 64-bit Windows machine. But the reverse does not hold true.

You might be able to install Python 3.4, too. But you have to be careful because Python broke some prominent features between 2.x and 3.x. If you get mysterious errors when using Python 3.x, you should try using Python 2.x (or run Python's 2to3 conversion program on the 2.x *.py source files). Google is very specific about the Python versions, and 3.x is not allowed. Its likely due to the Python 3 redesign and improvements that were not backwards-compatible.

jww

Posted 2014-06-21T09:32:38.470

Reputation: 1

7Can you specify things that are clearly broken in 3.x, as opposed to redesigned and improved in a way that is not backwards-compatible? – Tom Zych – 2014-06-21T09:46:20.043

@Tom - same difference to a person who is not familiar with Python. They are going to run a 2.x source file with a 3.x interpreter, and things are not going to work. Could you imagine if the C language broke printf in C99??? – jww – 2014-06-21T09:47:13.177

5When dealing with someone new to Python, I think it's best to make it clear that the 3.x transition was not a case of breaking things, but rather a case of cleaning up the language and removing various ugly warts that had accumulated in 2.x. Granted that the transition has been difficult and met much resistance, but it doesn't serve new Python users to give them the impression that 3.x is broken. – Tom Zych – 2014-06-21T09:52:17.660

@noloader The fact that someone is not familiar with something is not an excuse. You should teach them about that or generalize, not misinform them. BTW modern computers are broken too, because you can't use floppies with them, right? :) – gronostaj – 2014-06-21T09:57:33.857

(By the way, my initial question was not rhetorical. If there are things broken in 3.x, I do want to know about them; I use 3.x by preference, only using 2.x when I need a library that hasn't migrated.) – Tom Zych – 2014-06-21T10:02:30.447

1Tom and gronostaj - this fellow is probably not a Python programmer. His only interest is likely because he's been told he has to use it for Google App Engine. He probably does not want to be educated - he just wants things to work so he can get on with his Web App. I suffered the same when using Clang and its sanitizers (specifically, the asan_symbolize.py script). I did not want to spend time figuring out why Python was not working. I just wanted things to work so I could continue working on my C project. – jww – 2014-06-21T10:08:49.753

@Tom - this is not theoretical either ;) I'm not a Python guy. I just wanted things to work: asan_symbolize.py does not work with Python3. So I'm speaking from experience - I wasted 2 to 3 hours on that little issue. I'm not taking cheap shots at the project.

– jww – 2014-06-21T10:09:24.317

@noloader - Well, what can I say? Life isn't simple. Computer programming certainly isn't simple. I don't like having to learn about business and finance, but I accept that I need to know a little about these topics to avoid being ripped off. Wanting things to just work, without having to understand anything about them, is not a viable approach to life in general. – Tom Zych – 2014-06-21T10:14:28.790

@Tom - no sympathy from me. I work in software security (C/C++/ObjC), and I would not dream of sending a user on a wild goose chase in one of my systems. The system has to work safely out of the box or I don't sign off on it. Python could have made it easier on the user, but they did not. For completeness, I have no problem with them fixing things or cleaning things up. It was probably a good decision since they seem like bright folks. – jww – 2014-06-21T10:26:19.080

@noloader: "this fellow is probably not a Python programmer. His only interest is likely because he's been told he has to use it for Google App Engine. He probably does not want to be educated - he just wants things to work so he can get on with his Web App." Very true! – Mike – 2014-06-21T10:32:45.230

@noloader: "You might be able to install Python 3.4, too." Not really: documentation.

– Mike – 2014-06-21T10:35:34.020

2Say "changed" instead of "broke" and this discussion wouldn't have happened. – bjanssen – 2014-06-21T10:38:40.287

@bjanssen - I kind of regret mentioning it. I was trying to give Hermes a heads up. No good deed goes unpunished ;) – jww – 2014-06-21T10:49:41.050

@bjanssen: Guido should've named Python 3 to Anaconda or something, and this discussion wouldn't have happened. – nperson325681 – 2014-06-21T16:05:25.713