2012-03-13 12 views

Respuesta

21

debe instalar Python 32 bits, o utilizar el paquete numpy de 64 bits pitón de this unofficial site

+0

Aunque tengo una versión de Windows 7 de 64 bits, igual tuve que instalar el paquete numpy de 32 bits. El numpy que funcionó para mí fue uno de los lanzamientos no oficiales en http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy, concretamente numpy-MKL-1.9.1.win32-py2.7.exe. –

+0

Es probable que tenga una versión de 32 bits de Python. Puede instalar versiones de Python de 64 bits y 32 bits en Windows 64 bit. – Dikei

2

Tienes que manipular las versiones de python y numpy. Ambos necesitan ser de 32 bits o 64 bits.

53

Esto no es raro con los instaladores (por ejemplo numpy) que dependen de o buscar un instalado previamente la aplicación principal de 64 bits (por ejemplo, Python x64). El problema y la solución son fáciles de explicar.

PROBLEMA mi humilde opinión esto es un error por parte de la promotora de la applicaiton ya instalado de 64 bits mediante la colocación de la entrada de registro en el nodo de 32 bits en lugar de (o además de) el nodo 64 bits. De hecho, el desarrollador del instalador también podría codificarlo para buscar en ambas ubicaciones, en lugar de simplemente suponer que la entrada del registro de aplicaciones de 64 bits estará en \ Wow6432Node, como una forma de evitar este problema de supervisión del desarrollador original; sin embargo, si el instalador basa su decisión en si la aplicación es de 32 o 64 bits en función de la ubicación de la entrada del registro (no es una buena idea), esto podría ser problemático.

Atendieran con 64 bits applicaitons una entrada de registro se creará en ...

HKLM\SOFTWARE\[applicaion name] 

Sin embargo, una entrada del registro correspondiente no se crea en ...

HKLM\SOFTWARE\Wow6432Node\[application name] 

SOLUCIÓN La forma más fácil de resolver esto con cualquier aplicación es ...

  1. Abra el editor del registro (Inicio -> Ejecutar -> regedit)
  2. Vaya a HKEY_LOCAL_MACHINE \ SOFTWARE \ [nombre applicaiton] (en este caso "Python")
  3. Haga clic derecho en el applicaiton ("Python")
  4. Seleccione "Exportar" y guardar el archivo en algún lugar como "[nombre de la aplicación] .reg" ("Python.reg")
  5. Abrir el archivo guardado con su editor de elección (me gusta Notepad ++)
  6. en cada entrada justo después de "[HKEY_LOCAL_MACHINE \ SOFTWARE" pero antes de \ [nombre de aplicación] ("\ Python"), agregue "\ Wow6432Node" (sin las comillas, obviamente)
  7. Guarde el archivo editado como "[nombre de la aplicación] _64.reg" (Python_64.reg ")
  8. Cierre el editor y haga doble clic en el archivo recién creado, responda" Sí "a la ventana emergente de verificación del Editor del registro.

Ahora usted debería tener entradas duplicadas en HKLM \ SOFTWARE \ [nombre applicaiton] y HKLM \ SOFTWARE \ Wow6432Node \ [nombre applicaiton].Alternativamente, puede crear manualmente todas las entradas faltantes en HKLM \ SOFTWARE \ Wow6432Node \ [nombre del aplicativo] para que coincidan con lo que está en HKLM \ SOFTWARE \ [nombre de la aplicación], pero ese es realmente el camino más largo.

Cuando vuelva a ejecutar el instalador Numpy, ahora detectará correctamente su instalación de 64 bits de Python.

CAVEAT Hay una advertencia a todo esto.

Las entradas duplicadas en HKLM \ SOFTWARE y HKLM \ SOFTWARE \ Wow6432Node no son un problema y no afectarán el funcionamiento normal de una aplicación; sin embargo, como el desarrollador no creó la entrada de registro Wow6432Node, es poco probable que las futuras actualizaciones que modifiquen las entradas de registro se llenen en ambas ubicaciones. En ocasiones, debe realizar esta operación nuevamente o agregar manualmente nuevas entradas de registro al Wow6432Node para mantenerlas constantes. Un ejemplo en el que puede encontrarse es con la instalación de módulos de Python que agregan una entrada en HKLM \ SOFTWARE \ Python \ PythonCore \ 2.x \ Modules \. Puede exportar solo la entrada agregada y editar el archivo .reg para incluir solo "\ Wow6432Node", exportar todo el nodo \ Python y editar todas las entradas (la importación del archivo .reg editado sobrescribirá las entradas existentes), o simplemente agregar manualmente el nuevo entrada - lo que te parezca más simple.

+0

Esto funcionó perfectamente para el instalador PIL. ¡Gracias! – alves

+18

+1 Un poco más fácil que usar regedit y un editor de texto es ejecutar una ventana cmd.exe como administrador y usar 'reg copy HKLM \ SOFTWARE \ Python HKLM \ SOFTWARE \ Wow6432Node \ Python/s'. –

+0

¡Gracias @WanderingLogic! Mucho más fácil y funcionó para mí en Win 7 64bit e instalando Numpy-MKL-1.8.0b2 –

7

Este problema también afecta a numpy de 32 bits en Python de 32 bits.

La causa es que el instalador numpy asume optó por "instalar para todos los usuarios" al instalar Python, es decir, que el instalador Python utiliza la HKEY_LOCAL_MACHINE parte de todo el equipo del Registro. Si en cambio eligió "instalar para mí sólo", estas configuraciones de registro se encuentran en la sección de escritura para el usuario del registro, * * HKEY_USERS_ (también conocido como HKEY_CURRENT_USER). El instalador numpy no se ve allí y por lo tanto piensa que Python no está instalado.

Solución: Copiar la clave HKEY_CURRENT_USER \ Software \ Python y todos los sub-llaves del lugar correspondiente bajo HKEY_LOCAL_MACHINE \ Software (se puede hacer esto con la exportación de regedit, y luego encontrar & reemplazar en el archivo de texto , luego importar). O bien, reinstale Python y elija "todos los usuarios".

+1

No hay 'HKEY_CURRENT_USER \ Software \ Python' –

0

Desinstale Python de su sistema y vuelva a instalarlo. A continuación, descargue numpy de este sitio: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

En caso de que quiera para comprobar la versión de numpy en su sistema, escribir este siguiente código en el IDE:

import numpy 
numpy.version.version 

la esperanza que esto ayudaría!

1

Debe instalar python 2.7 32bit. La versión numérica de Windows Python son todas de 32 bits.

0
  1. Ejecutar instalador

  2. clic en Cancelar cuando el error aparece

  3. detalles Haga clic en Mostrar

  4. Se dirá al final de la lista Execute: C:\.........\numpy-1.7.1-sse3.exe, vaya a esa carpeta, agarrar ese archivo y soltarlo en C:\python27\

  5. Una vez que es en dicha carpeta, ejecútelo desde esa ubicación. La instalación se ejecutará y lo encontrará.