2012-04-17 23 views
27

Tengo Windows Vista 64.¿Cómo instalar Python 2.7.3 32 bits y 64 bits de Windows lado a lado

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

Cómo evito que el instalador Python 2.7.3 MSI (32 o 64 bot) elimine la otra versión.

Codo a codo funcionó para mí con Python 2.7.2 sin problemas.

+2

se parece a un error de instalación específica a 2.7.3 –

+0

como un trabajo en torno a que sólo podría utilizar una máquina virtual hasta que se soluciona el problema, tengo el mismo problema – pyCthon

Respuesta

26

Esto parece funcionar para mí en Windows 7 de 64 bits. Elija una versión para ser su instalación predeterminada, p. 64 bit, e instálalo primero. Antes de hacer otra cosa, 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 Entire feature will be unavailable.

+2

Esto funciona perfectamente. Muchas gracias, Nicola. Creo que "Registrar extensiones y seleccionar la función completa no estará disponible" es bastante crucial porque es lo que decide cuál será tu pitón predeterminado. – keithxm23

3

En general, puede instalar varias versiones de Python una al lado de la otra. 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 paquetes/herramientas pueda enumerar toda la instalación de Python en el m/c actual. Solo ocurre un problema si la instalación es para la misma versión pero con diferente bitness. Como ya, la ruta de registro SOFTWARE \ Python \ Pythoncore \ no distingue con el valor de bits y corrección de errores, que acabaría superponiendo el InstallPath y PYTHONPATH si usted es la instalación misma versión con diferente de corrección de errores o diferente bitness.

Solución

  • instalar dos versiones diferentes para diferentes bitness.
  • Prepare una secuencia de comandos para actualizar la clave de registro cada vez que desee cambiar entre la bitness. Me tropecé con un script similar simple en effbot que hace el trabajo.

actualización

Como Ruediger Jungbeck señaló que él puede ver dos claves de registro diferentes, de repente me acordé de un importante cambio posterior Vista. En un sistema de 64 bits para permitir el acceso a las claves de registro de la aplicación de 32 bits y 64 bits, Windows divide el registro en nodos importantes. Para las aplicaciones de 64 bits, es la ruta de registro nativa, pero para las aplicaciones de 32 bits es el WoW6432Node. Por lo tanto, al ejecutar una Versión de Python \ Tools \ extensión de 32 bits, solo verá el Wow6432Node. Las aplicaciones de 64 bits solo verán el nodo nativo. Hay API para acceder a los nodos cruzados de bits, pero eso está fuera del alcance de esta pregunta. Para resumir, Windows maneja inteligentemente las aplicaciones de 32 y 64 bits dividiendo el nodo que permitirá que las extensiones de 32 bits accedan de manera transparente a la instalación de Python de 32 bits.

+0

Puedo encontrar 2 diferentes t valores. Uno en HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 que apunta a la versión de 64 bits y HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 apuntando a la versión de 32 bits, por lo que esperaría que cada bitness encuentre que es Python. Pero, ¿por qué el instalador ve ambos? –

+0

Aha .... Olvidé por completo ... Actualizaré mi respuesta – Abhijit

+0

He visto su actualización, pero eso no soluciona mi problema. Quiero ambas bitness instaladas al mismo tiempo (en el mismo sistema) –

1

Al instalar 2nd Python, para las extensiones de registro, seleccione la opción "Toda la función no estará disponible". Python ruta 64 Instalación estará en registro "HKLM: SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath"

Python 64 bits PYTHONPATH estarán en "HKLM: SOFTWARE \ Python \ PythonCore \ 2.7 \ PYTHONPATH "

Python 32 Ruta de instalación será en el registro "HKLM: SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 \ InstallPath"

Python 32 PYTHONPATH poco estará en " HKLM: SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 \ PYTHONPATH"

Customize Python with disabling extions

Cuestiones relacionadas