151

他のすべての Google ソースと SO スレッドを読みましたが、何も機能していません。

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

そこで、私は MinGW をインストールし、それをインストール行に選択したコンパイラーとして追加します。しかし、その後、エラーが発生します"RuntimeError: chmod error".

どうすればこれを回避できますか?同じ結果が得られるpipを使用してみました。ビルド済みの PyCrypto 2.3 バイナリを見つけてインストールしましたが、システムのどこにも見つかりません (動作していません)。

何か案は?

4

19 に答える 19

191

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 用のビルドを探している場合は、PyCrypto on python 3.5を参照してください。

于 2012-07-10T02:19:54.200 に答える
19

一般に

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

Python のバージョンがコンパイルされたのと同じコンパイラで PyCrypto をコンパイルする必要があります。「vcvarsall.bat が見つかりません」をGoogle で検索してください。これが問題の原因であるためです。これは、Windows で Python 拡張機能をコンパイルする際の非常に一般的な問題です。

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

Visual Studio 2010 を使用するか、Visual Studio 2008 を使用しないかに注意してください

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

これを行う場合は注意してください。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 つです。

于 2012-07-10T01:54:32.980 に答える
18

PyCryptodomeは、 pypi で利用可能な Windows ホイールを備えた PyCrypto のほぼ互換性のあるフォークです

簡単にインストールできます:

pip install pycryptodome

Web サイトには、Microsoft コンパイラを使用してソースからビルドする手順も含まれています。

于 2015-09-20T07:25:00.963 に答える
5

Python 3.4 を探している人のために、動作するインストーラーを含むgit リポジトリを見つけました。x64およびx32の直接リンクは次のとおりです。

于 2015-07-13T14:50:39.620 に答える
5

Windows 7 の場合:

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

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

path=C:\Python27\Scripts を設定します (つまり、easy_install が配置されているパス)

次に、以下を実行します。

easy_install pycrypto

Ubuntu の場合:

これを試して、

" https://pypi.python.org/pypi/pycrypto "から Pycrypto をダウンロードします。

次に、端末を使用して現在のパスをダウンロードしたパスに変更します。ユーザーは root である必要があります。

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

次に、ターミナルを使用して次を実行します。

python setup.py インストール

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

于 2015-04-12T09:46:35.743 に答える
5

使用してみてください:

pip install pycryptodome

また:

pip install pycryptodomex

ソース: https://pypi.python.org/pypi/pycryptodome

于 2017-01-04T16:22:09.547 に答える
4

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」を実行します。

これにより、C コードに他に問題がなければ、"python setup.py install" が成功するはずです。しかし、mpir を有効にして mpir ライブラリを見つけるために、いくつかの PyCrypto ファイルを編集しなければならなかったことを漠然と覚えていますが、現時点では Windows システムを起動していません。手順を再現するには数日かかります。それまでに成功を報告していない場合は、PyCrypto の手順を投稿します。この手順では、mpir をコンパイルできることを前提としています。

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

于 2012-07-10T07:21:24.797 に答える
3

そこで、私は MinGW をインストールし、それをインストール行に選択したコンパイラーとして追加します。しかし、「RuntimeError: chmod エラー」というエラーが表示されます。

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

どうすればこれを回避できますか?

解決

MSYS バイナリを PATH に追加し、インストール スクリプトを再実行するだけです。

(注: 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`
于 2014-09-24T10:11:08.307 に答える
3
  1. Microsoft Visual C++ Compiler for Python 2.7に移動し、「システム要件」に基づいて続行します (これは、以下の手順をまとめるために行ったことです)。

  2. 次のいずれ pip install setuptools の方法でsetuptoolsをインストールます(Python がこのコンパイラ パッケージを自動的に検出するには、setuptools 6.0 以降が必要です) 。python ez_python.py

  3. wheel をインストールします(ビルド済みのバイナリ パッケージを作成する場合は wheel をお勧めします)。次の方法でインストールできます。pip install wheel

  4. Windows の管理者特権でコマンド プロンプト cmd.exe (「管理者として実行」を使用) を開き、すべてのユーザーに「Microsoft Visual C++ Compiler for Python 2.7」をインストールします。これを行うには、次のコマンドを使用できます: msiexec /iC:\users\jozko\download\VCForPython27.msi ALLUSERS=1ファイルへの独自のパスを使用するだけです:msiexec /i <path to MSI> ALLUSERS=1

  5. これで、pycrypto を次のようにインストールできるはずです。pip install pycrypto

于 2016-07-30T22:02:36.623 に答える
2

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

于 2012-07-10T01:51:15.770 に答える
1

そこで、私は MinGW をインストールし、それをインストール行に選択したコンパイラーとして追加します。しかし、「RuntimeError: chmod エラー」というエラーが表示されます。

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

ここに画像の説明を入力

PATH 環境変数に次のエントリを追加します。

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin[ここに chmod 実行可能ファイルがあります]

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

于 2015-04-26T17:47:00.263 に答える