Python 如何在Windows上安装M2crypto

Python 如何在Windows上安装M2crypto,python,windows,openssl,swig,m2crypto,Python,Windows,Openssl,Swig,M2crypto,下载后,并确保c:\pkg,pip安装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

下载后,并确保
c:\pkg
pip安装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
看起来已经不可用了,而且我也没有看到我在这个基础上犯过任何错误


如何解决此安装问题?是否依赖于较旧版本的GCC?

我很幸运-有一个非官方的二进制安装程序代替了关闭:


我很幸运-有一个非官方的二进制安装程序代替了关机:

该项目提供M2Crypto的Windows版本

您可以在其AppVeyor构建中找到当前Python版本的控制盘

例如,要从安装M2Crypto 0.37.1→ 对于64位Python 3.8,使用
pip
,运行:

pip install \
  https://ci.appveyor.com/api/buildjobs/5c56adinoe9l8kng/artifacts/dist/M2Crypto-0.37.1-cp38-cp38-win_amd64.whl
NB工件可能在AppVeyor中过期,请参阅以获取更新。

该项目提供M2Crypto的Windows版本

您可以在其AppVeyor构建中找到当前Python版本的控制盘

例如,要从安装M2Crypto 0.37.1→ 对于64位Python 3.8,使用
pip
,运行:

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

NB这些工件可能会在AppVeyor中过期,请参阅以获取更新。

现在是2019年底,安装M2Crypto仍然很痛苦!经过大量的谷歌搜索,最终得出以下结论:

pip install wheel
pip install M2CryptoWin32
在Windows 10上使用全新的Python 2.7.17 32位安装。您可能需要先安装


如果您已经安装了64位Python,我想您应该改用M2CryptoWin64。

现在已经是2019年后期了,安装M2Crypto仍然很痛苦!经过大量的谷歌搜索,最终得出以下结论:

pip install wheel
pip install M2CryptoWin32
在Windows 10上使用全新的Python 2.7.17 32位安装。您可能需要先安装


如果您已经安装了64位Python,我想应该改用M2CryptoWin64。

我最近针对一个需要
m2crypto
的Python模块的GitHub问题写了以下内容

特定版本的Python的
m2crypto
的某些版本可从其CI获得:。尝试选择一个版本,选择一个与Python版本匹配的作业,然后转到“工件”选项卡并下载安装程序。要安装
.whl
文件,请参阅下面的“我的构建教程”步骤11

我还附加了我在Windows10x64、Python 3.8.1上构建的
m2crypto
模块。它可以在任何基于x64的Windows版本和任何版本的Python 3.8.X上运行

但是,如果无法找到与Python版本、系统类型和体系结构匹配的生成,则可能需要手动生成
m2crypto
。我根据他们的CI构建脚本改编了构建步骤:。我通过执行以下操作构建模块:

  • 为Visual Studio 2019安装最新的
    生成工具
    。请参见“所有下载”->“Visual Studio 2019工具”下的内容。在撰写本文时,此直接链接处于活动状态:
  • 在安装程序中,选择“C++构建工具”,安装,必要时重新启动
  • 为您的体系结构(
    Win64
    /
    Win32
    )安装最新的完整(非
    Light
    OpenSSL
    。撰写本文时的当前版本为
    1.1.1d
    。记下要安装的目录
    OpenSSL
  • PowerShell
    中,安装
    chocolate
    软件包管理器。我在他们的网站上使用了这个命令:
    Set ExecutionPolicy Bypass-Scope Process-Force;iex((新对象系统.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1)
  • 使用
    chocolate
    (在
    PowerShell
    中)安装
    swig
    <代码>choco安装-r-y swig
  • 安装
    pywin32
    依赖项。运行
    pip安装pywin32
    。如果有问题,请尝试首先运行
    pip install wheel
    。要获得针对特定Python安装的
    pip
    ,请尝试使用
    py-[version]-m pip install[module]
    启动它。注意:您可能需要使用提升的(管理员)
    PowerShell
    来安装Python模块
  • 获取最新的
    m2crypto
    代码。如果安装了
    git
    ,请运行
    git克隆https://gitlab.com/m2crypto/m2crypto
    。否则,请从GitLab下载并提取代码:
  • 使用
    cd
    切换到克隆/提取到的目录
    m2crypto
  • 假设
    python
    启动所需的python解释器版本,运行
    python setup.py build--openssl=“C:\Program Files\openssl-Win64”-bundledells
    ,将
    C:\Program Files\openssl-Win64
    替换为安装到的目录。(在某些系统上,您可以使用
    py
    启动器指定要使用的Python版本,有关详细信息,请运行
    py-h
  • 生成可安装的文件
    python.exe setup.py bdist\u wheel bdist\u wininst bdist\u msi
  • 安装模块
    cd
    进入
    dist
    目录,运行
    pip install M2Crypto-0.35.2-cp38-cp38-win_amd64.whl
    ,将文件名替换为生成的
    .whl
    文件。如果有问题,请尝试首先运行
    pip install wheel
    。要获得针对特定Python安装的
    pip
    ,请尝试使用
    py-[version]-m pip install[module]
    启动它。或者,您可以运行生成的
    .exe
    .msi
    安装程序。注意:您可能需要使用提升的(管理员)
    PowerShell
    来安装Python模块

  • 我最近为一个需要
    m2crypto
    的Python模块的GitHub问题写了以下内容

    特定版本的Python的
    m2crypto
    的某些版本可从其CI获得:。尝试选择一个版本,选择一个与Python版本匹配的作业,然后转到“工件”选项卡并下载安装程序。安装