How do I install Python 2.7.3 32 bit and 64 bit on Windows side by side

Question:

I have Windows Vista 64.

I have some projects requiring Python 2.7.3 64 bit and others requiring Python 2.7.3 32 bit (because some extensions do not work in 64 bit).

How do I prevent the Python 2.7.3 MSI installer (32 or 64 bot) from deleting the other version.

Side by side worked for me with Python 2.7.2 without problems.

Asked By: Ruediger Jungbeck

||

Answers:

You can generally install multiple Python Version side by side. When installing in Windows, apart from file installation, registry is also updated so that any subsequent package/tools installation can enumerate all the Python Installation in the current m/c.
Only problem happens if the installation is for the same version but different bitness.
As because, the registry Path SOFTWAREPythonPythoncore does not differentiates with the bitness and bug-fix, you would end up overlaying the InstallPath and PythonPath if you are installation same version with different bug-fix or different bitness.

Solution

  • Install two different Versions for different bitness.
  • Prepare a script to update the registry key each time you want to switch between the bitness. I happened to stumble upon a simple similar script in effbot which does the Job.

Update

As Ruediger Jungbeck pointed out that he can see two different registry keys, I suddenly recollected an important change post Vista. On a 64 bit system in order to enable accessing the registry keys from 32 bit and 64 bit application, Windows splits the registry at important nodes. For 64 bit applications, its the native registry path but for 32 bit applications its the WoW6432Node. So when running a 32 bit Version of PythonToolsextension, it will only see the Wow6432Node. 64 bit applications will only see the native node. There are APIs to access the cross bitness nodes but that is outside the scope of this question.
So to summarize, windows intelligently handles 32 and 64 bit applications by splitting the node which will allow 32 bit extensions to transparently access the 32 bit Python Installation.

Answered By: Abhijit

This appears to be working for me on Windows 7 64 bit. Choose one version to be your default installation, e.g. 64 bit, and install it first. Before doing anything else install the other version.

Specify a different installation directory and in the Customize Python 2.7.3 screen select Register Extensions and select Entire feature will be unavailable.

Answered By: Nicola Musatti

While installing 2nd python, for Register Extensions select “Entire feature will be unavailable” option.
Python 64 Installation path will be in registry “HKLM:SOFTWAREPythonPythonCore2.7InstallPath”

Python 64 bit PythonPath will be in
“HKLM:SOFTWAREPythonPythonCore2.7PythonPath”

Python 32 Installation path will be in registry
“HKLM:SOFTWAREWow6432NodePythonPythonCore2.7InstallPath”

Python 32 bit PythonPath will be in
“HKLM:SOFTWAREWow6432NodePythonPythonCore2.7PythonPath”

Customize Python with disabling extions

Answered By: Shiva Prasad

Can installing 32-bit python on other user and install 64-bit on the other user, solve this problem?

Answered By: Ric
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.