在安装OpenSSL之后,下载预构建Swig可执行文件并确保openssl库位于默认位置。 c:\pkg,pip install m2crypto结果如下:
...
C:\Program Files (x86)\gfortran\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Pyth
on27\include -IC:\Python27\PC -Ic:\pkg\include -Ic:\users\evbo\appdata\local\tem
p\pip_build_evbo\m2crypto\SWIG -c SWIG/_m2crypto_wrap.c -o build\temp.win32-2.7\
Release\swig\_m2crypto_wrap.o -DTHREADING
gcc: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1M2crypto二进制安装程序解决方案似乎不再可用,我没有看到基于M2crypto安装文档的任何错误。
如何解决此安装问题?对GCC的老版本有依赖吗?
发布于 2014-08-04 23:00:25
我很幸运-有一个非官方的二进制安装程序代替了chandlerproject.org/bin/view/Projects/MeTooCrypto:
发布于 2019-01-04 22:06:28
https://gitlab.com/m2crypto/m2crypto项目提供M2Crypto的Windows。
您可以从AppVeyor构建的https://ci.appveyor.com/project/m2crypto/m2crypto上找到当前Python版本的轮子。
例如,要从64位Python3.8的M2Crypto https://ci.appveyor.com/project/m2crypto/m2crypto→https://ci.appveyor.com/project/m2crypto/m2crypto/builds/37187357/job/5c56adinoe9l8kng/artifacts和pip安装pip 0.37.1,请运行:
pip install \
https://ci.appveyor.com/api/buildjobs/5c56adinoe9l8kng/artifacts/dist/M2Crypto-0.37.1-cp38-cp38-win_amd64.whlNB!工件可能在AppVeyor中过期,有关更新,请参见这只虫子。
发布于 2020-01-20 06:04:26
这个答案基于GitHub在https://github.com/iOSForensics/pymobiledevice/issues/25#issuecomment-576119104上的注释,对于一个需要m2crypto的m2crypto模块。
m2crypto的一些特定版本的构建可以从它们的CI:https://ci.appveyor.com/project/m2crypto/m2crypto/history中获得。尝试选择一个版本,选择一个与Python版本相匹配的作业,然后转到“工件”选项卡并下载一个安装程序。要安装.whl文件,请参阅下面构建教程的步骤11。
M2Crypto-0.35.2.win-amd64-py3.8.zip是我在Windows10Python3.8.1上构建的m2crypto模块。它应该适用于任何基于x64的Windows版本和任何版本的Python3.8.X。
但是,如果无法找到与Python版本、系统类型和体系结构相匹配的构建,则可能需要手动构建m2crypto。我从他们的CI构建脚本:https://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml中调整了构建步骤。我通过以下操作构建了这个模块:
Build Tools for Visual Studio 2019。请参阅VisualStudio2019“所有下载”https://visualstudio.microsoft.com/downloads/ ->工具“。在撰写本文时,这个直接链接是活动的:https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16。Light/Win32)安装最新的完整(不是Win64) OpenSSL。撰写本文时的当前版本是1.1.1d。请注意安装OpenSSL的目录。https://slproweb.com/products/Win32OpenSSL.htmlPowerShell中,安装Chocolatey包管理器。我从他们的网站上使用了以下命令:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))swig安装Chocolatey (在PowerShell中)。choco install -r -y swigpywin32依赖项。运行pip install pywin32。如果您有问题,请尝试首先运行pip install wheel。要让pip针对特定的Python安装,请尝试使用py -[version] -m pip install [module]启动它。注意:您可能需要使用提升的(管理员) PowerShell来安装Python模块。m2crypto代码。如果安装了git,请运行git clone https://gitlab.com/m2crypto/m2crypto。否则,从GitLab:https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.zip下载并解压缩代码。cd将m2crypto克隆/提取到目录中。python启动所需的Python解释器版本,运行python setup.py build --openssl="C:\Program Files\OpenSSL-Win64" --bundledlls,将C:\Program Files\OpenSSL-Win64替换为安装OpenSSL的目录。(在某些系统上,您可以使用py启动程序指定要使用的py -h版本,运行py -h获取更多信息。)python.exe setup.py bdist_wheel bdist_wininst bdist_msi。cd进入dist目录并运行pip install M2Crypto-0.35.2-cp38-cp38-win_amd64.whl,用生成的.whl文件替换文件名。如果您有问题,请尝试首先运行pip install wheel。要让pip针对特定的Python安装,请尝试使用py -[version] -m pip install [module]启动它。或者,您可以运行生成的.exe或.msi安装程序。注意:您可能需要使用提升的(管理员) PowerShell来安装Python模块。https://stackoverflow.com/questions/25110774
复制相似问题