私は他のすべてのGoogleソースとSOスレッドを読みましたが、何も動作しません。
Python 2.7.3 32bit
はWindows 7 64bit
にインストールされています。ダウンロードし、解凍してからPyCryptoをインストールしようとすると"Unable to find vcvarsall.bat".
になります。
そこで私はMinGWをインストールし、それをインストールラインで最適なコンパイラとしてタックします。しかし、それから私はエラー"RuntimeError: chmod error".
を得ます
私はこれをどのように回避しますか?私は同じ結果を与えるpipを使ってみました。私はビルド済みのPyCrypto 2.3バイナリを見つけてそれをインストールしましたが、システム上で見つけることはできません(動作していません)。
何か案は?
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 を見てください。
マイクロソフトは最近、スタンドアロンの専用版をリリースしました Python 2.7用Microsoft Visual C++コンパイラ 。 Python 2.7を使用している場合は、単にそのコンパイラとSetuptools 6.0以降をインストールするだけで、Cの拡張子を持つほとんどのパッケージはすぐにコンパイルされます。
年後、pythonは最終的にwheel
と呼ばれるバイナリ配布に同意しました。単純なpip install packagename
を備えたコンパイラーのないWindows。 人気のあるパッケージのリスト とそのステータスがあります。 Pycryptoはまだありませんが、lxml、PySide、Scrapyなどがあります。
2015年11月編集:pip uninstall pycrypto
&pip install pycryptodome
。新しい機能を備えたpycrypto
フォークであり、wheelをサポートします。 pycrypto
を置き換えるため、既存のコードは引き続き機能します( https://pycryptodome.readthedocs.org/en/latest/src/examples.html を参照)
vcvarsall.bat
はVisual C++コンパイラの一部です。インストールしようとしているものをインストールするにはそれが必要です。あなたのPythonがVisual Studioのツールチェーンでコンパイルされていて、その逆の場合は、MingGWを扱おうとさえしないでください。 Microsoftツールチェーンのバージョンでさえも重要です。 VS 2008でコンパイルされたPythonは、VS 2010でコンパイルされた拡張機能では動作しません。
あなたはPythonのバージョンがコンパイルされたのと同じコンパイラでPyCryptoをコンパイルしなければなりません。 Google for "vcvarsall.batが見つかりません"これが問題の根本なので、 WindowsでPython拡張機能をコンパイルする場合によく起こる問題です =
このリンクを使っているシステムに関係なく、正しい情報を得るためにはたくさんの情報と読むべきことがあります。
私の知る限りでは、次のことがまだ当てはまります。これは、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つです!
VS2010の場合:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
VS2012の場合:
SET VS90COMNTOOLS=%VS110COMNTOOLS%
それから電話してください。
pip install pyCrypto
PyCryptodome はPyCryptoとほぼ互換性のあるフォークで、Windowsホイールは pypi で利用可能です。
あなたは簡単でそれをインストールすることができます:
pip install pycryptodome
このWebサイトには、Microsoftのコンパイラを使ってソースから構築する方法も記載されています。
MinGW32
とpycrypto
name__を使用して、MSYS
name__をコンパイルできるようにしました。これはpip
name__またはeasy_install
がインストールされていることを前提としています。
これが私のやり方です。
1)インストール MinGW32 。この説明のために、それがC:\MinGW
にインストールされていると仮定しましょう。推奨するインストーラを使用する場合は、MSYSをMinGW
name__とともにインストールする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)検索バーからmsys
name__を実行するとMSYSターミナルが開きます。 Cygwin
name__に慣れている人のために、それは同様の方法で動作します。
4)MSYS端末内からpip install pycrypto
は、これ以降エラーなく実行されるはずです。
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インストール
それは私のために働いた。希望はすべてのために働く..
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をコンパイルできたと仮定します。
これが役に立つことを願っています。
そこで私は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`
" Python 2.7用Microsoft Visual C++コンパイラ " に移動し、 "システム要件"に基づいて続行します(これは、以下の手順をまとめるために行ったことです)。
setuptoolsをインストールします (Pythonがこのコンパイラパッケージを自動的に検出するにはsetuptools 6.0以降が必要です) または pip install setuptools
または download "Setuptools bootstrapping installer" source - from 、このファイルをファイルシステムのどこかに "ez_python.py"として保存し、次のようにインストールします。python ez_python.py
インストールwheel (事前にビルドされたバイナリパッケージの作成にはwheelを推奨します)。あなたはそれをインストールすることができます:pip install wheel
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
これでpycryptoをインストールできるはずです:pip install pycrypto
ただ使用してみてください:
pip install pycryptodome
または
pip install pycryptodomex
これはおそらく最適な解決策ではありませんが、MSから無料のVisual C++ Expressパッケージをダウンロードしてインストールすることができます。これでPyCryptoコードをコンパイルするのに必要なC++コンパイラが手に入ります。
Windowsを使用していてPycrypctoをインストールするのに苦労しているのなら、:pip install pycryptodomeを使ってください。それは奇跡のように働きます、そしてそれはあなたの人生を多くの設定と調整をすることを試みるよりはるかに簡単にします。
私の答えはここで述べた問題とは関係ないかもしれませんが、Crypto.Cipherが有効なインポートではなかったPython 3.4と同じ問題がありました。それで私はPyCryptoをインストールしようとしましたそして問題に入りました。
私が3.4で見つけたある調査の後であなたはpycryptodomeを使うべきです。
Pycharmを使ってpycryptodomeをインストールして良かったです。
from Crypto.Cipher import AES
そこで私はMinGWをインストールし、それをインストールラインで最適なコンパイラとしてタックします。しかし、それから私はエラー "RuntimeError:chmod error"を得ます。
MinGWの下にmsysパッケージをインストールする必要があります。
そして、PATH環境変数に以下のエントリを追加します。
C:\MinGW\bin
C:\MinGW\msys\1.0\bin
[これは、chmod実行ファイルを見つける場所です]その後、通常のWindowsコマンドプロンプトからコマンドを実行します。
奇妙な法的理由により、バイナリは通常の方法で公開されていません。ボイドスペースは通常最良のセカンドソースです。しかし、かなり前から、voidspaceメンテナは更新しませんでした。 [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0] からZipを使用してください
手順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用に持っていました。
pycharm -> file -> setting -> project interpreter
に行く
クリック +
"pycrypto"
を検索してパッケージをインストールします
注: "Microsoft Visual C++ Compiler for Python 2.7"がインストールされていない場合は、インストールを促すプロンプトが表示されます。インストールが完了したら上記の手順を試してください。