¿Cómo instalo Python 2.7.3 32 bit y 64 bit en Windows lado a lado?

Tengo Windows Vista 64.

Tengo algunos proyectos que requieren Python 2.7.3 64 bits y otros que requieren Python 2.7.3 32 bits (porque algunas extensiones no funcionan en 64 bits).

¿Cómo puedo evitar que el instalador MSI de Python 2.7.3 (32 o 64 bot) elimine la otra versión?

Lado a lado trabajé para mí con Python 2.7.2 sin problemas.

    Esto parece estar funcionando para mí en Windows 7 64 bit. Elija una versión para que sea su instalación predeterminada, por ejemplo, 64 bits, e instálela primero. Antes de hacer nada más instale la otra versión.

    Especifique un directorio de instalación diferente y, en la pantalla Customize Python 2.7.3 , seleccione Register Extensions y seleccione la Entire feature will be unavailable .

    Por lo general, puede instalar varias versiones de Python en paralelo. Al instalar en Windows, además de la instalación de archivos, el registro también se actualiza para que cualquier instalación posterior de herramientas / paquetes pueda enumerar todas las Instalaciones de Python en el m / c actual. El único problema ocurre si la instalación es para la misma versión pero con un bitness diferente. Como porque, la ruta del registro SOFTWARE \ Python \ Pythoncore \ no se diferencia con el bitness y la corrección de errores, terminaría superponiendo el InstallPath y PythonPath si está instalando la misma versión con una corrección de errores diferente o bitness diferente.

    Solución

    • Instale dos versiones diferentes para bitness diferente.
    • Prepare un script para actualizar la clave de registro cada vez que desee cambiar entre el bitness. Me encontré con un simple script similar en effbot que hace el trabajo.

    Actualizar

    Como Ruediger Jungbeck señaló que puede ver dos claves de registro diferentes, de repente recordé un cambio importante después de Vista. En un sistema de 64 bits para permitir el acceso a las claves de registro desde aplicaciones de 32 y 64 bits, Windows divide el registro en nodos importantes. Para aplicaciones de 64 bits, es la ruta de registro nativa, pero para aplicaciones de 32 bits es el WoW6432Node. Por lo tanto, cuando se ejecuta una versión de 32 bits de la extensión Python \ Tools \, solo se verá el nodo Wow6432. Las aplicaciones de 64 bits solo verán el nodo nativo. Existen API para acceder a los nodos de bits cruzados, pero eso está fuera del scope de esta pregunta. Para resumir, Windows maneja de manera inteligente las aplicaciones de 32 y 64 bits al dividir el nodo, lo que permitirá que las extensiones de 32 bits accedan de forma transparente a la instalación de Python de 32 bits.

    Al instalar 2nd python, para las Extensiones de Registro, seleccione la opción “La característica completa no estará disponible”. La ruta de instalación de Python 64 estará en el registro “HKLM: SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath”

    Python 64 bit PythonPath estará en “HKLM: SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath”

    La ruta de instalación de Python 32 estará en el registro “HKLM: SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 \ InstallPath”

    Python 32 bit PythonPath estará en “HKLM: SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 \ PythonPath”

    Personaliza Python con deshabilitaciones