web-dev-qa-db-ja.com

WindowsにM2cryptoをインストールする方法

OpenSSLのインストール の後、 ビルド済みのSwig実行可能ファイル をダウンロードし、 opensslライブラリがデフォルトにあることを確認c:\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

M2cryptoのバイナリインストーラソリューション は利用できなくなったようです。 M2cryptoインストールドキュメント に基づいて間違いを犯したことはありません。

このインストールの問題を解決するにはどうすればよいですか?古いバージョンのGCCに依存していますか?

14
ecoe

私は幸運に恵まれました 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

6
ecoe

私は最近、m2cryptoを必要とするPythonモジュールのGitHubの問題に対応して、次のように書きました。

Pythonの特定のバージョン用のm2cryptoのいくつかのビルドはCIから入手できます: https://ci.appveyor.com/project/m2crypto/m2crypto/history 。試してみてくださいバージョンを選択し、Pythonバージョンに一致するジョブを選択してから、[アーティファクト]タブに移動し、インストーラーをダウンロードします。.whlファイルをインストールするには、以下のビルドチュートリアルのステップ11を参照してください。

また、Windows 10x64で構築したm2cryptoモジュールを添付しましたPython3.8.1。x64ベースのバージョンのWindowsとPython 3.8.X. M2Crypto-0.35.2.win-AMD64-py3.8.Zip

ただし、Pythonバージョン、システムタイプ、アーキテクチャに一致するビルドが見つからない場合は、手動でm2cryptoをビルドする必要があります。CIビルドスクリプトからビルド手順を調整しました。- https://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml 。次の手順でモジュールをビルドしました。

  1. 最新のBuild Tools for Visual Studio 2019をインストールします。 https://visualstudio.Microsoft.com/downloads/ の[すべてのダウンロード]-> [Visual Studio2019のツール]を参照してください。この直接リンクは、この記事の執筆時点でアクティブでした: https://visualstudio.Microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16
  2. インストーラーで、「C++ビルドツール」を選択し、インストールして、必要に応じて再起動します。
  3. アーキテクチャ(Win64/Win32)に最新のフル(Lightではない)OpenSSLをインストールします。この記事の執筆時点での現在のバージョンは1.1.1dです。 OpenSSLをインストールするディレクトリをメモします。 https://slproweb.com/products/Win32OpenSSL.html
  4. PowerShellに、Chocolateyパッケージマネージャーをインストールします。私は彼らのウェブサイトからこのコマンドを使用しました:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
  5. swigChocolateyPowerShell内)とともにインストールします。 choco install -r -y swig
  6. pywin32依存関係をインストールします。 pip install pywin32を実行します。問題がある場合は、最初にpip install wheelを実行してみてください。 pipを取得して特定のPythonインストールをターゲットにするには、py -[version] -m pip install [module]を使用して起動してみてください。注:インストールするには、昇格された(管理者)PowerShellを使用する必要がある場合がありますPythonモジュール。
  7. 最新のm2cryptoコードを取得します。 gitがインストールされている場合は、git clone https://gitlab.com/m2crypto/m2cryptoを実行します。それ以外の場合は、GitLabからコードをダウンロードして抽出します: https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.Zip
  8. cdを使用して、m2cryptoが複製/抽出されたディレクトリに移動します。
  9. pythonが目的のPythonインタプリタバージョンを起動すると仮定して、python setup.py build --openssl="C:\Program Files\OpenSSL-Win64" --bundledllsを実行し、C:\Program Files\OpenSSL-Win64OpenSSLをインストールしたディレクトリに置き換えます(一部のシステムでは、 pyランチャーでPythonバージョン、詳細についてはpy -hを実行してください。)
  10. インストール可能なファイルを生成します。 python.exe setup.py bdist_wheel bdist_wininst bdist_msi
  11. モジュールをインストールします。 cddistディレクトリに移動し、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モジュール。
1
user9811991

https://gitlab.com/m2crypto/m2crypto プロジェクトは、M2CryptoのWindowsビルドを提供します。

https://ci.appveyor.com/project/dwoz/m2cryptohttps://ci.appveyor.com/project/dwoz)からM2Crypto-0.30.1-cp27-cp27m-win_AMD64.whlホイールをインストールしました/ m2crypto/build/job/y7yri08k45mn5nlj/artifacts そしてそれは完璧に機能しました。

64ビットの場合はpipを使用してこれを行う方法は次のとおりですPython 2.7:

pip install https://ci.appveyor.com/api/buildjobs/y7yri08k45mn5nlj/artifacts/dist/M2Crypto-0.30.1-cp27-cp27m-win_AMD64.whl

NB!現在、アーティファクトはAppVeyorで期限切れになっています。更新については、 このバグ を参照してください。

1
mrts

2019年後半で、M2Cryptoのインストールはまだ苦痛です!たくさんのグーグルの後、最終的にそれを以下のステップに落としました:

pip install wheel
pip install M2CryptoWin32

Windows10で新しいPython 2.7.17 32ビットインストールを使用する。可能性がありますインストール http: //aka.ms/vcpython27 最初。

64ビットPythonをインストールしている場合は、代わりにM2CryptoWin64を使用する必要があると思います。

0
stevetu21