web-dev-qa-db-ja.com

WindowsにPyCryptoをインストールするにはどうすればいいですか?

私は他のすべてのGoogleソースとSOスレッドを読みましたが、何も動作しません。

Python 2.7.3 32bitWindows 7 64bitにインストールされています。ダウンロードし、解凍してからPyCryptoをインストールしようとすると"Unable to find vcvarsall.bat".になります。

そこで私はMinGWをインストールし、それをインストールラインで最適なコンパイラとしてタックします。しかし、それから私はエラー"RuntimeError: chmod error".を得ます

私はこれをどのように回避しますか?私は同じ結果を与えるpipを使ってみました。私はビルド済みのPyCrypto 2.3バイナリを見つけてそれをインストールしましたが、システム上で見つけることはできません(動作していません)。

何か案は?

135
Coldblackice

Python.orgで配布されているVisual Studioバイナリと互換性のあるC/C++開発環境がまだインストールされていない場合は、純粋なPythonパッケージまたはWindowsバイナリが利用可能なパッケージのみをインストールするようにしてください。

幸い、Windows用のPyCryptoバイナリがあります。 http://www.voidspace.org.uk/python/modules.shtml#pycrypto

更新:
以下のコメントで@Udiが示唆しているように、次のコマンドはpycryptoもインストールし、virtualenvでも使用できます。

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe

このリスト からあなたの設定に関連するリンクを選ぶように注意してください

Python 3.5用のビルドを探しているなら、 python 3.5上のPyCrypto を見てください。

179
Michael Dillon

マイクロソフトは最近、スタンドアロンの専用版をリリースしました Python 2.7用Microsoft Visual C++コンパイラ 。 Python 2.7を使用している場合は、単にそのコンパイラとSetuptools 6.0以降をインストールするだけで、Cの拡張子を持つほとんどのパッケージはすぐにコンパイルされます。

32
Jason R. Coombs

年後、pythonは最終的にwheelと呼ばれるバイナリ配布に同意しました。単純なpip install packagenameを備えたコンパイラーのないWindows。 人気のあるパッケージのリスト とそのステータスがあります。 Pycryptoはまだありませんが、lxml、PySide、Scrapyなどがあります。

2015年11月編集pip uninstall pycryptopip install pycryptodome。新しい機能を備えたpycryptoフォークであり、wheelをサポートします。 pycryptoを置き換えるため、既存のコードは引き続き機能します( https://pycryptodome.readthedocs.org/en/latest/src/examples.html を参照)

24
Smit Johnth

一般に

vcvarsall.batはVisual C++コンパイラの一部です。インストールしようとしているものをインストールするにはそれが必要です。あなたのPythonがVisual Studioのツールチェーンでコンパイルされていて、その逆の場合は、MingGWを扱おうとさえしないでください。 Microsoftツールチェーンのバージョンでさえも重要です。 VS 2008でコンパイルされたPythonは、VS 2010でコンパイルされた拡張機能では動作しません。

あなたはPythonのバージョンがコンパイルされたのと同じコンパイラでPyCryptoをコンパイルしなければなりません。 Google for "vcvarsall.batが見つかりません"これが問題の根本なので、 WindowsでPython拡張機能をコンパイルする場合によく起こる問題です =

このリンクを使っているシステムに関係なく、正しい情報を得るためにはたくさんの情報と読むべきことがあります。

Visual Studio 2010を使用するか、Visual Studio 2008を使用しないでください

私の知る限りでは、次のことがまだ当てはまります。これは、python.orgで入手可能なPythonインストーラーに対してVS 2010 Expressで拡張機能を構築しようとしていることを参照して、2010年6月に上のリンクに投稿されました。

これを行う場合は注意してください。 python.orgのPython 2.6と2.7は、Visual Studio 2008コンパイラで構築されています。 Pythonと同じCRT(msvcr90.dll)にリンクする必要があります。

Visual Studio 2010 Expressは、誤ったバージョンのCRT:msvcr100.dllとリンクします。

これを行う場合は、Visual Studio 2010 Expressを使用してPythonを再構築する必要があります。 Windows用の標準Pythonバイナリインストーラは使用できません。また、Visual Studio 2010(Express)とは異なるコンパイラで構築されたC/C++拡張機能を使用することもできません。

意見:これが私がOSXのためのすべての本格的な開発作業のためにWindowsを見捨てた理由の1つです!

18
user177800

VS2010の場合:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

VS2012の場合:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

それから電話してください。

pip install pyCrypto 
18
Chandan

PyCryptodome はPyCryptoとほぼ互換性のあるフォークで、Windowsホイールは pypi で利用可能です。

あなたは簡単でそれをインストールすることができます:

pip install pycryptodome

このWebサイトには、Microsoftのコンパイラを使ってソースから構築する方法も記載されています。

MinGW32pycryptoname__を使用して、MSYSname__をコンパイルできるようにしました。これはpipname__またはeasy_installがインストールされていることを前提としています。

これが私のやり方です。

1)インストール MinGW32 。この説明のために、それがC:\MinGWにインストールされていると仮定しましょう。推奨するインストーラを使用する場合は、MSYSをMinGWname__とともにインストールするC++コンパイラを選択してください.

2)c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbinをあなたの%PATH%に追加してください。慣れていないのであれば この記事 はとても役に立ちます。

3)検索バーからmsysname__を実行するとMSYSターミナルが開きます。 Cygwinname__に慣れている人のために、それは同様の方法で動作します。

4)MSYS端末内からpip install pycryptoは、これ以降エラーなく実行されるはずです。

6
darnold0714

Windows 7の場合:

WindowsにPycryptoをインストールするには、

コマンドプロンプトでこれを試してください。

Path = C:\ Python27\Scriptsに設定します(つまり、easy_installがある場所のパス)。

その後、以下を実行してください。

easy_install pycrypto

Ubuntuの場合:

これを試して、

Pycryptoを「 https://pypi.python.org/pypi/pycrypto 」からダウンロードしてください。

それから端末を使って現在のパスをダウンロードしたパスに変更してください。

例:root @ xyz-virtual-machine:〜/ pycrypto-2.6.1#

その後、端末を使用して以下を実行します。

python setup.pyインストール

それは私のために働いた。希望はすべてのために働く..

5
JayaPrakash

Python 3.4を探している人のために私は git repo を見つけました。これは x64x32 への直接リンクです。

5
user25064

Windows 7 SDKツールキットを使ってPyCryptoを構築することは可能です。 Windows 7 SDKには2つのバージョンがあります。オリジナルバージョン(.Net 3.5用)には、VS 2008コマンドラインコンパイラが含まれています。 32ビットと64ビットの両方のコンパイラをインストールできます。

最初のステップは mpir をコンパイルして高速な算術演算を提供することです。私が使用しているプロセスを gmpy ライブラリに文書化しました。 SDKコンパイラを使用してmpirを構築するための詳細な手順は sdk_build にあります。

DOSプロンプトからSDKコンパイラーを使用するための主なステップは次のとおりです。

1)必要に応じてvcvars32.batまたはvcvars64.batを実行します。

2)プロンプトで、 "set MSSdk = 1"を実行してください。

3)プロンプトで、 "set DISTUTILS_USE_SDK = 1"を実行してください。

これで "python setup.py install"はCのコードに他の問題がないと仮定すると成功するでしょう。しかし、mpirを有効にしてmpirライブラリを見つけるには、2、3個のPyCryptoファイルを編集しなければならなかったことを漠然と覚えていますが、現時点ではWindowsシステムを立ち上げていません。ステップを再現する時間があるのは数日後です。それまでに成功が報告されていない場合は、PyCryptoの手順を掲載します。この手順では、mpirをコンパイルできたと仮定します。

これが役に立つことを願っています。

4
casevh

そこで私はMinGWをインストールし、それをインストールラインで最適なコンパイラとしてタックします。しかし、それから私はエラー "RuntimeError:chmod error"を得ます。

このエラー"RuntimeError: chmod error"は、インストールスクリプトがchmodコマンドを見つけられなかったために発生します。

私はこれをどのように回避しますか?

溶液

必要なのはPATHにMSYSバイナリを追加してインストールスクリプトを再実行するです。

(N.B:MinGWにはMSYSが付いてくるので注意してください)

たとえば、フォルダC:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>にいる場合

C:\.....>set PATH=C:\MinGW\msys\1.0\bin;%PATH%
C:\.....>python setup.py install

オプション:スクリプトを再実行する前に、クリーンアップする必要があるかもしれません。

`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`
3
Bludzee
  1. " Python 2.7用Microsoft Visual C++コンパイラ " に移動し、 "システム要件"に基づいて続行します(これは、以下の手順をまとめるために行ったことです)。

  2. setuptoolsをインストールします (Pythonがこのコンパイラパッケージを自動的に検出するにはsetuptools 6.0以降が必要です) または pip install setuptools または download "Setuptools bootstrapping installer" source - from 、このファイルをファイルシステムのどこかに "ez_python.py"として保存し、次のようにインストールします。python ez_python.py

  3. インストールwheel (事前にビルドされたバイナリパッケージの作成にはwheelを推奨します)。あなたはそれをインストールすることができます:pip install wheel

  4. Windowsの[コマンドプロンプト] cmd.exeを([管理者として実行]を使用して)開いて "Microsoft Visual C++コンパイラfor Python 2.7" をすべてのユーザーにインストールします。あなたはそうするために次のコマンドを使用することができます:msiexec/i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1は単にfileへのあなた自身のパスを使用します:msiexec /i <path to MSI> ALLUSERS=1

  5. これでpycryptoをインストールできるはずです:pip install pycrypto

3
damian1baran

ただ使用してみてください:

pip install pycryptodome

または

pip install pycryptodomex

出典: https://pypi.python.org/pypi/pycryptodome

3
Kade

これはおそらく最適な解決策ではありませんが、MSから無料のVisual C++ Expressパッケージをダウンロードしてインストールすることができます。これでPyCryptoコードをコンパイルするのに必要なC++コンパイラが手に入ります。

2
sizzzzlerz

Windowsを使用していてPycrypctoをインストールするのに苦労しているのなら、:pip install pycryptodomeを使ってください。それは奇跡のように働きます、そしてそれはあなたの人生を多くの設定と調整をすることを試みるよりはるかに簡単にします。

1
john

私の答えはここで述べた問題とは関係ないかもしれませんが、Crypto.Cipherが有効なインポートではなかったPython 3.4と同じ問題がありました。それで私はPyCryptoをインストールしようとしましたそして問題に入りました。

私が3.4で見つけたある調査の後であなたはpycryptodomeを使うべきです。

Pycharmを使ってpycryptodomeをインストールして良かったです。

from Crypto.Cipher import AES

1
Virendra Patel

そこで私はMinGWをインストールし、それをインストールラインで最適なコンパイラとしてタックします。しかし、それから私はエラー "RuntimeError:chmod error"を得ます。

MinGWの下にmsysパッケージをインストールする必要があります。

enter image description here

そして、PATH環境変数に以下のエントリを追加します。

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin [これは、chmod実行ファイルを見つける場所です]

その後、通常のWindowsコマンドプロンプトからコマンドを実行します。

1
Aniket Thakur

奇妙な法的理由により、バイナリは通常の方法で公開されていません。ボイドスペースは通常最良のセカンドソースです。しかし、かなり前から、voidspaceメンテナは更新しませんでした。 [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0] からZipを使用してください

0
Zimmermann

手順1: ここ からVisual C++ 2010 Expressをインストールします。

(Microsoft Visual Studio 2010 Service Pack 1をインストールしないでください)

手順2:コントロールパネル\プログラムと機能からすべてのMicrosoft Visual C++ 2010再頒布可能パッケージを削除します。そうしなければ、インストールはあいまいな "インストール中の致命的なエラー"エラーで失敗するでしょう。

手順3: こちら から、Visual Studio 2010(v7.1)用のWindows SDKのオフラインバージョンをインストールします。これは64ビット拡張に必要です。 Windowsには、PismoなどのISO用の組み込みマウントがあります。

ステップ4:Pismo File Mount Audit Packageを使ってISOファイルをインストールする必要があります。 Pismoを ここ からダウンロードしてください。

ステップ5:ダウンロードしたISOファイルを右クリックして、Pismoでマウントを選択します。その後、setup.exeの代わりにSetup\SDKSetup.exeをインストールしてください。

ステップ6a:C:¥Program Files(x86)¥Microsoft Visual Studio 10.0¥VC¥bin¥AMD64にvcvars64.batファイルを作成し、そのディレクトリーをC:¥Program Files(x86)¥Microsoft Visual Studioバージョン¥VC¥onに変更します。コマンドプロンプト。コマンドプロンプトでcommandと入力します。cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

ステップ6b:x86プラットフォームをターゲットとする64ビットコマンドラインビルド用にこのコマンドプロンプトウィンドウを設定するには、コマンドプロンプトで次のように入力します。vcvarsall x86その他のオプションについては、 here をクリックしてください。

ステップ7:プロンプトで、次のように入力してPyCryptoをインストールします。C:\Python3X>pip install -U your_wh_file

私はpycharmをpython用に持っていました。

  1. pycharm -> file -> setting -> project interpreterに行く

  2. クリック +

  3. "pycrypto"を検索してパッケージをインストールします

注: "Microsoft Visual C++ Compiler for Python 2.7"がインストールされていない場合は、インストールを促すプロンプトが表示されます。インストールが完了したら上記の手順を試してください。

0
RAKESH