Si hallas algún fallo con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes subir el código al proyecto final.
Solución:
Tuve suerte: hay un instalador binario no oficial en lugar de chandlerproject.org/bin/view/Projects/MeTooCrypto que está caído:
https://github.com/saltstack/salt-windows-install/blob/master/deps/win32-py2.7/M2Crypto-0.21.1.win32-py2.7.msi
Recientemente escribí lo siguiente en respuesta a un problema de GitHub para un módulo de Python que requiere m2crypto
.
Algunas construcciones para m2crypto
para versiones específicas de Python están disponibles en su CI: https://ci.appveyor.com/project/m2crypto/m2crypto/history. Intente seleccionar una versión, seleccione un trabajo que coincida con su versión de Python, luego vaya a la pestaña “Artefactos” y descargue un instalador. para instalar un .whl
archivo, vea el paso 11 de mi tutorial de compilación a continuación.
También he adjuntado el m2crypto
módulo que he construido en Windows 10 x64, Python 3.8.1. Debería funcionar en cualquier versión de Windows basada en x64 con cualquier versión de Python 3.8.X. M2Crypto-0.35.2.win-amd64-py3.8.zip
Sin embargo, si no puede encontrar una compilación que coincida con su versión de Python, tipo de sistema y arquitectura, es posible que deba compilar manualmente m2crypto
. Adapté los pasos de compilación de sus scripts de compilación de CI: https://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml. Construí el módulo haciendo lo siguiente:
- Instala lo último
Build Tools for Visual Studio 2019
. Consulte https://visualstudio.microsoft.com/downloads/ en “Todas las descargas” -> “Herramientas para Visual Studio 2019”. Este enlace directo estaba activo a partir de este escrito: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 - En el instalador, seleccione “Herramientas de compilación de C++”, instale y reinicie si es necesario.
- Instale la última versión completa (no
Light
)OpenSSL
para tu arquitectura (Win64
/Win32
). La versión actual a partir de este escrito es1.1.1d
. Tome nota del directorio en el que instalaOpenSSL
. https://slproweb.com/products/Win32OpenSSL.html - En
PowerShell
Instala elChocolatey
gerente de empaquetación. Usé este comando de su sitio web:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- Instalar
swig
conChocolatey
(enPowerShell
).choco install -r -y swig
- Instala el
pywin32
dependencia. Correrpip install pywin32
. Si tiene problemas, intente ejecutar primeropip install wheel
. Llegarpip
para apuntar a una instalación específica de Python, intente iniciarla usandopy -[version] -m pip install [module]
. Nota: es posible que deba usar un (administrador) elevadoPowerShell
para instalar módulos de Python. - Obtén lo ultimo
m2crypto
código. Si usted tienegit
instalado, ejecutargit clone https://gitlab.com/m2crypto/m2crypto
. De lo contrario, descargue y extraiga el código de GitLab: https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.zip - Usar
cd
cambiar al directoriom2crypto
fue clonado/extraído. - Asumiendo
python
inicia la versión deseada del intérprete de Python, ejecutepython setup.py build --openssl="C:Program FilesOpenSSL-Win64" --bundledlls
reemplazandoC:Program FilesOpenSSL-Win64
con el directorio en el que instalóOpenSSL
. (En algunos sistemas puede utilizar elpy
lanzador para especificar una versión de Python para usar, ejecutarpy -h
para más información.) - Genere los archivos instalables.
python.exe setup.py bdist_wheel bdist_wininst bdist_msi
. - Instale el módulo.
cd
en eldist
directorio y ejecutarpip install M2Crypto-0.35.2-cp38-cp38-win_amd64.whl
reemplazando el nombre del archivo con el generado.whl
expediente. Si tiene problemas, intente ejecutar primeropip install wheel
. Llegarpip
para apuntar a una instalación específica de Python, intente iniciarla usandopy -[version] -m pip install [module]
. Alternativamente, puede ejecutar el generado.exe
o.msi
instalador Nota: es posible que deba usar un (administrador) elevadoPowerShell
para instalar módulos de Python.