web-dev-qa-db-ja.com

Microsoft Windows Python-3.6 PyCryptoインストールエラー

pip install pycryptoはpython3.5.2では正常に動作しますが、次のエラーでpython3.6で失敗します。

inttypes.h(26):エラーC2061:構文エラー:識別子 'intmax_t'

33
user1602

Pythonインストールディレクトリのinclude\pyport.hファイルには、#include <stdint.h>が含まれていません。 intmax_t未定義のままになります。

Microsoft VCコンパイラの回避策は、OS環境変数を介してstdint.hを強制的に含めることですCL

  1. コマンドプロンプトを開く
  2. Vcvars * .batを実行してVC環境をセットアップします(VCバージョンとアーキテクチャに応じてファイル名を選択します)
  3. cL = -FI "Full-Path\stdint.h"を設定します(環境のFull-Pathに実際の値を使用します)
  4. pip install pycrypto
56
user1602

ser1960422 の回答に感謝します。
pycrypto 2.6.1のPowerShellステップ(simple-crypt経由)/ Python 3.6/Windows 10:

$env:VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
$env:CL="-FI`"$env:VCINSTALLDIR\INCLUDE\stdint.h`""

Successful simple-crypt/pycrypto install

winrandomモジュールのエラーを修正するには、 https://stackoverflow.com/a/24822876/8751739 の回答に従う必要もありました。

18
naaman

python 3.6、Windows 10、Visual Studio 2017にpycrypto 2.6.1をインストールしました。

  1. スタートメニューで管理者権限で「VS 86のx86_x64クロスツールコマンドプロンプト」を開きます。
  2. cL = -FI "%VCINSTALLDIR%Tools\MSVC\14.11.25503\include\stdint.h"を設定します
  3. pip install pycrypto

enter image description here

16
Marko Rothstein

pycryptoの代わりにPyCryptodomeを使用します。 pycryptoは 廃止 であり、現在は積極的にサポートされていません。 PyCryptodomeは、pycryptoとほぼ同じAPIを公開します( source )。

12
bhuvan karuturi

python 3.6およびwindows 10にpycrypo 2.6.1をインストールすることに成功しました。

  1. 以下のような環境変数を設定します。 visual studio installed directory
  2. Cmd.exeを開きます
  3. Virtualenvをアクティブ化する
  4. Gitcryptからpycrypto 2.6.1リリースをダウンロードして解凍します。
  5. pycrypto set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%の環境変数を設定します
  6. セットアップコマンドpython setup.py installを実行します
  7. 私の結果はこちら enter image description here

これが誰かを助けることができたら嬉しいです。

3
user1960422