Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

win64

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.

like image 954
Ruediger Jungbeck Avatar asked Apr 17 '12 07:04

Ruediger Jungbeck


People also ask

Can I install both 32-bit and 64 bit Python?

You can generally install multiple Python Version side by side.

How do I install multiple Python versions on Windows?

Install multiple python versions For Windows users, I recommend using the Windows x86-64 executable installer option if you work on a 64bit system. Otherwise, just use the Windows x86 executable installer . After locating the install option for the specific version, just press the download link.

Can I install 2 versions of Python?

If you wish to use multiple versions of Python on a single machine, then pyenv is a commonly used tool to install and switch between versions. This is not to be confused with the previously mentioned depreciated pyvenv script. It does not come bundled with Python and must be installed separately.


2 Answers

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.

like image 102
Nicola Musatti Avatar answered Sep 20 '22 12:09

Nicola Musatti


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 SOFTWARE\Python\Pythoncore\ 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 Python\Tools\extension, 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.

like image 27
Abhijit Avatar answered Sep 19 '22 12:09

Abhijit