在installing OpenSSL之后,下载pre-built Swig executable,并确保openssl libraries are located in the defaultc:\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 1
似乎binary installer solution for M2crypto不再可用,我没有看到我在M2crypto install doc的基础上犯了任何错误。
如何解决这个安装问题?是否依赖于旧版本的GCC?
6条答案
按热度按时间wz1wpwve1#
我很幸运-有一个非官方的二进制安装程序代替chandlerproject.org/bin/view/Projects/MeTooCrypto被关闭:
https://github.com/saltstack/salt-windows-install/blob/master/deps/win32-py2.7/M2Crypto-0.21.1.win32-py2.7.msi
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版本、系统类型和架构相匹配的构建版本,则可能需要手动构建
m2crypto
。https://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=161.在安装程序中,选择“C++构建工具”,安装,并在必要时重新启动。
1.为您的体系结构(
Win64
/Win32
)安装最新的完整版(而不是Light
)OpenSSL
。编写本文时的当前版本为1.1.1d
。请记下OpenSSL
的安装目录。https://slproweb.com/products/Win32OpenSSL.html1.在
PowerShell
中,安装Chocolatey
包管理器,我使用了他们网站上的以下命令:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
1.将
swig
与Chocolatey
一起安装(在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.zip1.使用
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模块。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/m2crypto → https://ci.appveyor.com/project/m2crypto/m2crypto/builds/37187357/job/5c56adinoe9l8kng/artifacts使用
pip
安装64位Python 3.8的M2 Crypto 0.37.1,请运行:**注意!**构件可能在AppVeyor中过期,有关更新,请参见this bug。
3xiyfsfu4#
现在是2019年年底,安装M2 Crypto仍然是一个痛苦!经过大量的谷歌搜索,终于得到了下面的步骤:
在Windows 10上使用新的Python 2.7.17 32位安装。您 * 可能 * 需要首先安装http://aka.ms/vcpython27。
我想如果你已经安装了64位Python,你应该使用M2 CryptoWin 64。
rggaifut5#
在windows中,(Python版本3.7|三、八|三、九|3.10)您可以从here下载 whl 文件,并使用以下命令进行安装:
替换当前的 whl 文件名。
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