¿Cómo instalo PyCrypto en Windows?

He leído todas las demás fonts de Google y SO hilos, sin nada que funcione.

Python 2.7.3 32bit instalado en Windows 7 64bit . Descargue, extraiga y luego intente instalar los resultados de PyCrypto en "Unable to find vcvarsall.bat".

Así que instalo MinGW y lo coloco en la línea de instalación como el comstackdor de elección. Pero luego me sale el error "RuntimeError: chmod error".

¿Cómo en el mundo puedo evitar esto? He intentado usar pip, que da el mismo resultado. Encontré un binario PyCrypto 2.3 preinstalado e instalé eso, pero no se encuentra en ninguna parte del sistema (no funciona).

¿Algunas ideas?

Si aún no tiene instalado un entorno de desarrollo C / C ++ que sea compatible con los binarios de Visual Studio distribuidos por Python.org, entonces debe limitarse a instalar solo paquetes de Python puros o paquetes para los cuales haya un binario de Windows disponible.

Afortunadamente, hay binarios de PyCrypto disponibles para Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

ACTUALIZAR:
Como @Udi sugiere en el comentario a continuación, el siguiente comando también instala pycrypto y también se puede usar en virtualenv :

 easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe 

Aviso para elegir el enlace relevante para su configuración de esta lista

Si está buscando comstackciones para Python 3.5, vea PyCrypto en Python 3.5

Microsoft ha lanzado recientemente un comstackdor de Microsoft Visual C ++ dedicado e independiente para Python 2.7 . Si está utilizando Python 2.7, simplemente instale ese comstackdor y Setuptools 6.0 o posterior, y la mayoría de los paquetes con extensiones C ahora se comstackrán fácilmente.

Después de años y años , Python finalmente aceptó una distribución binaria llamada wheel que permite instalar incluso extensiones binarias en Windows sin tener un comstackdor con el nombre de pip install packagename simple. Hay una lista de paquetes populares con su estado. Pycrypto aún no está allí, pero lxml, PySide y Scrapy, por ejemplo.

Editado en noviembre de 2015 : pip uninstall pycrypto & pip install pycryptodome . Es una horquilla de pycrypto con nuevas características y es compatible con la rueda. Reemplaza a pycrypto , por lo que el código existente continuará funcionando (consulte https://pycryptodome.readthedocs.org/en/latest/src/examples.html )

En general

vcvarsall.bat es parte del comstackdor de Visual C ++, necesita eso para instalar lo que está intentando instalar. Ni siquiera intentes lidiar con MingGW si tu Python fue comstackdo con la cadena de herramientas Visual Studio y viceversa. Incluso la versión de la cadena de herramientas de Microsoft es importante. ¡Python comstackdo con VS 2008 no funcionará con extensiones comstackdas con VS 2010!

Debe comstackr PyCrypto con el mismo comstackdor con el que se compiló la versión de Python. Busque “No se puede encontrar vcvarsall.bat” porque esa es la raíz de su problema, es un problema muy común al comstackr extensiones de Python en Windows.

Hay mucha información y mucho que leer para entender bien el sistema en el que se encuentre con este enlace.

Tenga cuidado con el uso de Visual Studio 2010 o no con Visual Studio 2008

Por lo que sé, lo siguiente sigue siendo cierto. Esto se publicó en el enlace anterior en junio de 2010, refiriéndose a intentar construir extensiones con VS 2010 Express contra los instaladores de Python disponibles en python.org.

Ten cuidado si haces esto. Python 2.6 y 2.7 de python.org están construidos con comstackdores de Visual Studio 2008. Deberá vincularse con el mismo CRT (msvcr90.dll) que Python.

Visual Studio 2010 Express enlaza con la versión incorrecta de CRT: msvcr100.dll.

Si hace esto, también debe reconstruir Python con Visual Studio 2010 Express. No puede utilizar el instalador binario estándar de Python para Windows. Tampoco puede usar ninguna extensión C / C ++ creada con un comstackdor diferente al de Visual Studio 2010 (Express).

Opinión: ¡Esta es una razón por la que abandoné Windows por todo el trabajo de desarrollo serio para OSX!

Para VS2010:

 SET VS90COMNTOOLS=%VS100COMNTOOLS% 

Para VS2012:

 SET VS90COMNTOOLS=%VS110COMNTOOLS% 

luego llame:

 pip install pyCrypto 

PyCryptodome es una bifurcación casi compatible de PyCrypto con ruedas de Windows disponible en pypi .

Puedes instalarlo con un simple:

 pip install pycryptodome 

El sitio web incluye instrucciones para comstackrlo a partir de fonts con los comstackdores de Microsoft.

He logrado que pycrypto compile utilizando MinGW32 y MSYS . Esto supone que tienes instalado pip o easy_install .

Así es como lo hice:

1) Instalar MinGW32 . En aras de esta explicación, supongamos que está instalado en C:\MinGW . Cuando use el instalador, que recomiendo, seleccione el comstackdor de C ++ . MSYS debería instalar con MinGW

2) Agregue c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbin a su %PATH% . Si no está familiarizado, este artículo es muy útil.

3) Desde la barra de búsqueda, ejecute msys y se abrirá el terminal MSYS. Para aquellos familiarizados con Cygwin , funciona de una manera similar.

4) Desde dentro del terminal MSYS, la pip install pycrypto debe ejecutarse sin errores después de esto.

Para Windows 7:

Para instalar Pycrypto en Windows,

Intente esto en el símbolo del sistema,

Establecer ruta = C: \ Python27 \ Scripts (es decir, ruta donde se encuentra easy_install)

Luego ejecuta lo siguiente,

easy_install pycrypto

Para Ubuntu:

Prueba esto,

Descargue Pycrypto desde ” https://pypi.python.org/pypi/pycrypto

Luego, cambie su ruta actual a la ruta descargada usando su terminal y el usuario debe ser root:

Por ejemplo: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #

Luego ejecuta lo siguiente usando el terminal:

python setup.py install

Ha funcionado para mí. La esperanza funciona para todos ..

Para aquellos de ustedes que buscan Python 3.4, encontré un repository git con un instalador que simplemente funciona. Aquí están los enlaces directos para x64 y x32.

Es posible construir PyCrypto usando los kits de herramientas del SDK de Windows 7. Hay dos versiones del SDK de Windows 7. La versión original (para .Net 3.5) incluye los comstackdores de línea de comandos de VS 2008. Se pueden instalar comstackdores de 32 y 64 bits.

El primer paso es comstackr mpir para proporcionar aritmética rápida. He documentado el proceso que uso en la biblioteca gmpy . Puede encontrar instrucciones detalladas para construir mpir usando el comstackdor SDK en sdk_build

Los pasos clave para usar los comstackdores de SDK desde un indicador de DOS son:

1) Ejecute vcvars32.bat o vcvars64.bat según corresponda.

2) Cuando se le solicite, ejecute “set MSSdk = 1”

3) Cuando se le solicite, ejecute “set DISTUTILS_USE_SDK = 1”

Esto debería permitir que “python setup.py install” tenga éxito si se supone que no hay otros problemas con el código C. Pero recuerdo vagamente que tuve que editar un par de archivos de PyCrypto para habilitar mpir y encontrar las bibliotecas de mpir pero no tengo mi sistema de Windows instalado en este momento. Pasarán un par de días antes de que tenga tiempo para recrear los pasos. Si no ha informado de éxito para ese entonces, publicaré los pasos de PyCrypto. Los pasos asumirán que fuiste capaz de comstackr mpir.

Espero que esto ayude.

Así que instalo MinGW y lo coloco en la línea de instalación como el comstackdor de elección. Pero luego me sale el error “RuntimeError: chmod error”.

Este error "RuntimeError: chmod error" produce porque la secuencia de comandos de instalación no encontró el comando chmod .

¿Cómo en el mundo puedo evitar esto?

Solución

Solo necesita agregar los binarios de MSYS a la RUTA y volver a ejecutar el script de instalación .

(NB: Tenga en cuenta que MinGW viene con MSYS)

Ejemplo

Por ejemplo, si estamos en la carpeta C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>

C:\.....> set PATH=C:\MinGW\msys\1.0\bin;%PATH%
C:\.....> python setup.py install

Opcional: es posible que deba limpiar antes de volver a ejecutar el script:

 `C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean` 
  1. Vaya a ” Comstackdor de Microsoft Visual C ++ para Python 2.7 ” y continúe en base a los “Requisitos del sistema” (esto es lo que hice para juntar los pasos a continuación).

  2. Instale setuptools (se requiere setuptools 6.0 o posterior para que Python detecte automáticamente este paquete del comstackdor), ya sea mediante: pip install setuptools o descargue la fuente de “Setuptools bootstrapping installer”, guarde este archivo en algún lugar de su sistema de archivos como “ez_python.py” e instale con : python ez_python.py

  3. Instale la rueda (la rueda se recomienda para producir paquetes binarios pre-construidos). Puedes instalarlo con: pip install wheel

  4. Abra el comando de comando de Windows elevado cmd.exe (con “Ejecutar como administrador”) para instalar “Microsoft Visual C ++ Compiler for Python 2.7” para todos los usuarios. Puede usar el siguiente comando para hacerlo: msiexec / i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1 solo use su propia ruta de acceso al archivo: msiexec /i ALLUSERS=1

  5. Ahora debería poder instalar pycrypto con: pip install pycrypto

Intenta simplemente usando:

 pip install pycryptodome 

o:

 pip install pycryptodomex 

Fuente: https://pypi.python.org/pypi/pycryptodome

Probablemente esta no sea la solución óptima, pero puede descargar e instalar el paquete gratuito de Visual C ++ Express de MS. Esto le dará el comstackdor de C ++ que necesita para comstackr el código de PyCrypto.

Así que instalo MinGW y lo coloco en la línea de instalación como el comstackdor de elección. Pero luego me sale el error “RuntimeError: chmod error”.

Necesitas instalar el paquete msys bajo MinGW

introduzca la descripción de la imagen aquí

y agregue las siguientes entradas en su variable de env PATH.

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin [Aquí es donde encontrará el ejecutable chmod]

A continuación, ejecute el comando desde el símbolo del sistema de Windows normal.

Es posible que mi respuesta no esté relacionada con la mención del problema aquí, pero tuve el mismo problema con Python 3.4 donde Crypto.Cipher no era una importación válida. Así que intenté instalar PyCrypto y tuve problemas.

Después de algunas investigaciones que encontré con 3.4 debes usar pycryptodome .

Instalo pycryptodome usando pycharm y estuve bien.

desde Crypto.Cipher importar AES

Debido a razones legales extrañas, los binarios no se publican de manera normal. El espacio de voz es normalmente la mejor segunda fuente. Pero desde hace bastante tiempo, el mantenedor del espacio de voz no se actualizó. Use el código postal de [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0%5D

Paso 1: Instale Visual C ++ 2010 Express desde aquí .

(No instale Microsoft Visual Studio 2010 Service Pack 1)

Paso 2: elimine todos los paquetes redistribuibles de Microsoft Visual C ++ 2010 del Panel de control \ Progtwigs y características. Si no lo hace, la instalación fallará con un error “Error fatal durante la instalación”.

Paso 3: Instale la versión sin conexión de Windows SDK para Visual Studio 2010 (v7.1) desde aquí . Esto es necesario para las extensiones de 64 bits. Windows ha incorporado el assembly para ISOs como Pismo.

Paso 4: debe instalar el archivo ISO con el paquete de auditoría de assembly de archivos Pismo. Descarga Pismo desde aquí

Paso 5: Haga clic derecho en el archivo ISO descargado y elija montar con Pismo. A partir de entonces, instale Setup \ SDKSetup.exe en lugar de setup.exe.

Paso 6a: Cree un archivo vcvars64.bat en C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64 cambiando el directorio a C: \ Archivos de progtwig (x86) \ Microsoft Visual Studio versión \ VC \ en el símbolo del sistema. Escriba el comando en el símbolo del sistema: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

Paso 6b: para configurar esta ventana de línea de comandos para las comstackciones de línea de comandos de 64 bits que apuntan a las plataformas x86, en la línea de comandos, ingrese: vcvarsall x86 Haga clic aquí para obtener más opciones.

Paso 7: En el símbolo del sistema, instale PyCrypto escribiendo: C:\Python3X>pip install -U your_wh_file

Tuve Pycharm para python.

  1. Vaya a pycharm -> file -> setting -> project interpreter

  2. Haga clic en +

  3. Busque "pycrypto" e instale el paquete

Nota: Si no tiene instalado el “Comstackdor de Microsoft Visual C ++ para Python 2.7”, se le pedirá que lo instale, una vez que la instalación haya terminado, intente los pasos anteriores, debería funcionar bien.