如何在Windows上安装M2crypto

wlsrxk51  于 2023-01-02  发布在  Windows
关注(0)|答案(6)|浏览(336)

installing OpenSSL之后,下载pre-built Swig executable,并确保openssl libraries are located in the defaultc:\pkgpip 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 1

似乎binary installer solution for M2crypto不再可用,我没有看到我在M2crypto install doc的基础上犯了任何错误。
如何解决这个安装问题?是否依赖于旧版本的GCC?

hmae6n7t

hmae6n7t2#

这个答案基于GitHub的评论,网址是https://github.com/iOSForensics/pymobiledevice/issues/25#issuecomment-576119104,针对的是一个需要m2crypto的Python模块。
某些针对特定Python版本的m2crypto构建版本可从其CI:https://ci.appveyor.com/project/m2crypto/m2crypto/history。尝试选择一个版本,选择一个与你的Python版本匹配的作业,然后转到“Artifacts”标签并下载一个安装程序。要安装一个.whl文件,请参见下面我的构建教程的步骤11。
M2Crypto-0.35.2.win-amd64-py3.8.zip是我在Windows 10 x64 Python 3.8.1上构建的m2crypto模块,它应该可以在任何基于x64的Windows版本和任何Python 3.8.X版本上运行。
但是,如果您无法找到与您的Python版本、系统类型和架构相匹配的构建版本,则可能需要手动构建m2cryptohttps://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml。我通过执行以下操作构建了该模块:
1.安装最新的Build Tools for Visual Studio 2019。请参阅“所有下载”-〉“Tools for Visual Studio 2019”下的https://visualstudio.microsoft.com/downloads/。在撰写本文时,此直接链接处于活动状态:https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16
1.在安装程序中,选择“C++构建工具”,安装,并在必要时重新启动。
1.为您的体系结构(Win64/Win32)安装最新的完整版(而不是LightOpenSSL。编写本文时的当前版本为1.1.1d。请记下OpenSSL的安装目录。https://slproweb.com/products/Win32OpenSSL.html
1.在PowerShell中,安装Chocolatey包管理器,我使用了他们网站上的以下命令:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
1.将swigChocolatey一起安装(在PowerShell中)。choco install -r -y swig
1.安装pywin32依赖项。运行pip install pywin32。如果遇到问题,请尝试首先运行pip install wheel。要使pip针对特定的Python安装,请尝试使用py -[version] -m pip install [module]启动它。您可能需要使用提升的(管理员)PowerShell来安装Python模块。
1.获取最新的m2crypto代码。如果你已经安装了git,运行git clone https://gitlab.com/m2crypto/m2crypto。否则,从GitLab下载并解压代码:https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.zip
1.使用cd更改为m2crypto克隆/提取到的目录。
1.假设python启动了你想要的Python解释器版本,运行python setup.py build --openssl="C:\Program Files\OpenSSL-Win64" --bundledlls,用你安装OpenSSL的目录替换C:\Program Files\OpenSSL-Win64(在一些系统上,你可以使用py启动器来指定要使用的Python版本,运行py -h以获取更多信息)。
1.生成可安装文件. python.exe setup.py bdist_wheel bdist_wininst bdist_msi
1.将模块. 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模块。

rryofs0p

rryofs0p3#

https://gitlab.com/m2crypto/m2crypto项目提供了Windows版本的M2 Crypto。
您可以在https://ci.appveyor.com/project/m2crypto/m2crypto的AppVeyor构建中找到当前Python版本的wheel。
例如,要从https://ci.appveyor.com/project/m2crypto/m2cryptohttps://ci.appveyor.com/project/m2crypto/m2crypto/builds/37187357/job/5c56adinoe9l8kng/artifacts使用pip安装64位Python 3.8的M2 Crypto 0.37.1,请运行:

pip install \
  https://ci.appveyor.com/api/buildjobs/5c56adinoe9l8kng/artifacts/dist/M2Crypto-0.37.1-cp38-cp38-win_amd64.whl

**注意!**构件可能在AppVeyor中过期,有关更新,请参见this bug

3xiyfsfu

3xiyfsfu4#

现在是2019年年底,安装M2 Crypto仍然是一个痛苦!经过大量的谷歌搜索,终于得到了下面的步骤:

pip install wheel
pip install M2CryptoWin32

在Windows 10上使用新的Python 2.7.17 32位安装。您 * 可能 * 需要首先安装http://aka.ms/vcpython27
我想如果你已经安装了64位Python,你应该使用M2 CryptoWin 64。

rggaifut

rggaifut5#

windows中,(Python版本3.7|三、八|三、九|3.10)您可以从here下载 whl 文件,并使用以下命令进行安装:

python install M2Crypto-0.38.0-cp310-cp310-win_amd64.whl

替换当前的 whl 文件名。

6xfqseft

6xfqseft6#

1~11:https://stackoverflow.com/a/59817750
12:在一个命令中安装M2Crypto.whl和adb
pip安装M2加密-0.38.0-cp 310-cp 310-win_amd64.whl adb

相关问题