How to Install M2crypto on Windows

后端 未结 4 523
半阙折子戏
半阙折子戏 2020-12-11 01:15

After installing OpenSSL, downloading the pre-built Swig executable, and ensuring the openssl libraries are located in the default c:\\pkg, pip install m2

相关标签:
4条回答
  • 2020-12-11 01:42

    I recently wrote the following in response to a GitHub issue for a Python module that requires m2crypto.

    Some builds for m2crypto for specific versions of Python are available from their CI: https://ci.appveyor.com/project/m2crypto/m2crypto/history. Try selecting a version, selecting a job that matches your Python version, then going to the "Artifacts" tab and downloading an installer. To install a .whl file, see step 11 of my build tutorial below.

    I have also attached the m2crypto module that I have built on Windows 10 x64, Python 3.8.1. It should work on any x64-based version of Windows with any version of Python 3.8.X. M2Crypto-0.35.2.win-amd64-py3.8.zip

    However, if you are unable to find a build that matches your Python version and system type and architecture, you may need to manually build m2crypto. I adapted the build steps from their CI build scripts: https://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml. I built the module by doing the following:

    1. Install the latest Build Tools for Visual Studio 2019. See https://visualstudio.microsoft.com/downloads/ under "All Downloads" -> "Tools for Visual Studio 2019". This direct link was active as of this writing: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16
    2. In the installer, select "C++ Build Tools", install, and reboot if necessary.
    3. Install the latest full (not Light) OpenSSL for your architecture (Win64/Win32). Current version as of this writing is 1.1.1d. Make note of the directory to which you install OpenSSL. https://slproweb.com/products/Win32OpenSSL.html
    4. In PowerShell, install the Chocolatey package manager. I used this command from their website: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    5. Install swig with Chocolatey (in PowerShell). choco install -r -y swig
    6. Install the pywin32 dependency. Run pip install pywin32. If you have problems, try first running pip install wheel. To get pip to target a specific Python installation, try launching it using py -[version] -m pip install [module]. Note: you may need to use an elevated (administrator) PowerShell to install Python modules.
    7. Get the latest m2crypto code. If you have git installed, run git clone https://gitlab.com/m2crypto/m2crypto. Otherwise, download and extract the code from GitLab: https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.zip
    8. Use cd to change into the directory m2crypto was cloned/extracted to.
    9. Assuming python launches your desired Python interpreter version, run python setup.py build --openssl="C:\Program Files\OpenSSL-Win64" --bundledlls, replacing C:\Program Files\OpenSSL-Win64 with the directory to which you installed OpenSSL. (On some systems you can use the py launcher to specify a Python version to use, run py -h for more information.)
    10. Generate the installable files. python.exe setup.py bdist_wheel bdist_wininst bdist_msi.
    11. Install the module. cd into the dist directory and run pip install M2Crypto-0.35.2-cp38-cp38-win_amd64.whl, replacing the filename with the generated .whl file. If you have problems, try first running pip install wheel. To get pip to target a specific Python installation, try launching it using py -[version] -m pip install [module]. Alternatively, you can run the generated .exe or .msi installer. Note: you may need to use an elevated (administrator) PowerShell to install Python modules.
    0 讨论(0)
  • 2020-12-11 01:42

    The https://gitlab.com/m2crypto/m2crypto project provides Windows builds of M2Crypto.

    You can find wheels for current Python versions from their AppVeyor builds at https://ci.appveyor.com/project/dwoz/m2crypto.

    For example, to install the M2Crypto 0.35.2 from https://ci.appveyor.com/project/dwoz/m2crypto → https://ci.appveyor.com/project/dwoz/m2crypto/build/job/y7yri08k45mn5nlj/artifacts with pip for 64-bit Python 3.8, run:

    pip install \
      https://ci.appveyor.com/api/buildjobs/jw1kqpwsbur77mxi/artifacts/dist/M2Crypto-0.35.2-cp38-cp38-win_amd64.whl
    

    NB! The artifacts may expire in AppVeyor, see this bug for updates.

    0 讨论(0)
  • 2020-12-11 01:50

    It's late 2019 and installing M2Crypto is still a pain! After a ton of Googling, finally got it down to the steps below:

    pip install wheel
    pip install M2CryptoWin32
    

    Using a fresh Python 2.7.17 32bit install on Windows 10. You might need install http://aka.ms/vcpython27 first.

    I'd imagine one should use M2CryptoWin64 instead if you've installed 64-bit Python.

    0 讨论(0)
  • 2020-12-11 01:58

    I got lucky - there's an unofficial binary installer in lieu of chandlerproject.org/bin/view/Projects/MeTooCrypto being down:

    https://github.com/saltstack/salt-windows-install/blob/master/deps/win32-py2.7/M2Crypto-0.21.1.win32-py2.7.msi

    0 讨论(0)
提交回复
热议问题