Comment installer Phycrypto sur Windows?

j'ai lu tous les autres google source et donc fil, sans rien fonctionner.

Python 2.7.3 32bit installé sur Windows 7 64bit . Télécharger, extraire, puis essayer d'installer les résultats de PyCrypto "Unable to find vcvarsall.bat".

donc J'installe MinGW et j'empile ça sur la ligne d'installation comme compilateur de choix. Mais alors j'obtiens l'erreur "RuntimeError: chmod error".

comment je peux contourner ça? J'ai essayé d'utiliser pip, qui donne le même résultat. J'ai trouvé un Prébuitt PyCrypto 2.3 binaire et l'ai installé, mais il est introuvable sur le système (ne fonctionne pas).

des idées?

121
demandé sur Coldblackice 2012-07-10 05:44:52

19 réponses

si vous n'avez pas déjà installé un environnement de développement C/C++ compatible avec les binaires Visual Studio distribués par Python.org, alors vous devriez vous en tenir à l'installation uniquement des paquets Python purs ou des paquets pour lesquels un binaire Windows est disponible.

heureusement, il ya PyCrypto binaires disponibles pour Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

UPDATE:

Comme @Udi le suggère dans le commentaire ci-dessous, la commande suivante installe aussi pycrypto et peut être utilisée dans virtualenv aussi bien:

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

avis pour choisir le lien approprié pour votre installation de cette liste

si vous êtes à la recherche de builds pour Python 3.5, voir PyCrypto sur python 3.5

168
répondu Michael Dillon 2017-05-23 11:54:41

Microsoft a récemment publié un standalone, dédié Microsoft Visual C++ Compiler for Python 2.7 . Si vous utilisez Python 2.7, installez simplement ce compilateur et Setuptools 6.0 ou plus tard, et la plupart des paquets avec des extensions C se compileront facilement.

30
répondu Jason R. Coombs 2014-12-06 01:22:05

en général

vcvarsall.bat fait partie du compilateur Visual C++, vous avez besoin d'installer ce que vous essayez d'installer. N'essayez même pas de traiter avec MinGW si votre Python a été compilé avec Visual Studio toolchain et vice versa. Même la version de la chaîne D'outils Microsoft est importante. Python compilé avec VS 2008 ne fonctionnera pas avec les extensions compilées avec VS 2010!

vous devez compiler Phycrypto avec le même compilateur avec lequel la version de Python a été compilée. Google pour " impossible de trouver vcvarsall.chauve-souris" parce que c'est la racine de votre problème, c'est un problème très commun avec compilation d'extensions Python sur Windows.

Il ya beaucoup d'informations et beaucoup à lire pour obtenir ce droit sur quel que soit le système sur lequel vous êtes avec ce lien.

attention en utilisant Visual Studio 2010 ou n'utilisant pas Visual Studio 2008

autant que je sache, ce qui suit est toujours vrai. Ceci a été publié dans le lien ci-dessus en juin 2010 en référence à essayer de construire des extensions avec VS 2010 Express contre les installateurs Python disponibles sur python.org.

faites attention si vous faites ça. Python 2.6 et 2.7 de python.org sont construit avec des compilateurs Visual Studio 2008. Vous aurez besoin de lien avec la même CRT (msvcr90.dll) comme Python.

Visual Studio 2010 Express liens avec la mauvaise version CRT: msvcr100.DLL.

si vous faites cela, vous devez aussi re-construire Python avec Visual Studio 2010 Express. Vous ne pouvez pas utiliser L'installateur binaire Python standard pour Windows. Vous ne pouvez pas non plus utiliser d'extensions C/C++ compilateur que Visual Studio 2010 (Express).

avis: C'est l'une des raisons pour lesquelles J'ai abandonné Windows pour tout travail de développement sérieux pour OSX!

17
répondu feeling abused and harassed 2017-05-23 12:18:15

pour VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

pour VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

puis appelez:

pip install pyCrypto 
17
répondu Chandan 2013-06-06 07:09:41

après des années et des années , python a finalement accepté une distribution binaire appelée wheel qui permet d'installer même des extensions binaires sur Windows sans avoir un compilateur simple pip install packagename . Il y a une liste des paquets populaires avec leur statut. Pycrypto n'est pas encore là, mais lxml, PySide et Scrapy par exemple.

Edited Nov 2015 : pip uninstall pycrypto & pip install pycryptodome . Il est une fourche pycrypto avec de nouvelles fonctionnalités et il supporte la roue. Il remplace pycrypto , de sorte que le code existant continuera à fonctionner (voir ). https://pycryptodome.readthedocs.org/en/latest/src/examples.html )

17
répondu Smit Johnth 2017-10-27 20:16:05

PyCryptodome est une fourche presque compatible de PyCrypto avec les roues de Windows disponibles sur pypi .

Vous pouvez l'installer avec un simple:

pip install pycryptodome

le site Web inclut des instructions pour le construire à partir de sources avec les compilateurs de Microsoft aussi.

12
répondu SquareRootOfTwentyThree 2015-11-21 19:45:31

j'ai réussi à faire compiler pycrypto en utilisant MinGW32 et MSYS . Cela suppose que vous avez installé pip ou easy_install .

Voici comment j'ai fait:

1) Installer MinGW32 . Pour cette explication, supposons qu'il est installé dans C:\MinGW . Lorsque vous utilisez l'installateur, ce que je recommande, sélectionnez le compilateur C++ . que MSYS devrait installer avec MinGW

2) Ajouter c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys.0, c:\mingw\msys.0\bin and c:\mingw\msys.0\sbin à votre %PATH% . Si vous n'êtes pas familier, cet article est très utile.

3) à partir de la barre de recherche, Lancez msys et le terminal MSYS s'ouvrira. Pour ceux qui connaissent Cygwin , il fonctionne d'une manière similaire.

4) à partir du terminal MSYS pip install pycrypto devrait être exécuté sans erreur après cela.

6
répondu darnold0714 2017-05-23 12:26:23

pour ceux qui cherchent python 3.4 j'ai trouvé un git repo avec un installateur qui fonctionne. Voici les liens directs pour x64 et x32

5
répondu user25064 2015-07-13 14:50:39

il est possible de construire PyCrypto en utilisant les toolkits SDK de Windows 7. Il existe deux versions du SDK Windows 7. La version originale (pour .Net 3.5) inclut les compilateurs en ligne de commande VS 2008. Les compilateurs 32 et 64 bits peuvent être installés.

la première étape est de compiler mpir pour fournir arithmétique rapide. J'ai documenté le processus que j'utilise dans la bibliothèque gmpy . Instructions détaillées pour la construction de mpir en utilisant le compilateur SDK peut être trouvé à sdk_build

les étapes clés pour utiliser les compilateurs SDK à partir D'une invite DOS sont:

1) Lancer l'un ou l'autre vcvars32.bat ou vcvars64.chauve-souris comme approprié.

2) à l'invite, exécutez "set MSSdk=1"

3) à l'invite, exécutez "set DISTUTILS_USE_SDK=1"

cela devrait permettre "python setup.py Installer" pour réussir en supposant qu'il n'y a pas d'autres problèmes avec le code C. Mais je vaisaguely se rappeler que j'ai dû éditer un couple de fichiers PyCrypto pour activer mpir et pour trouver les bibliothèques mpir, mais je n'ai pas mon système Windows en place pour le moment. Il me faudra quelques jours pour recréer les marches. Si vous n'avez pas signalé le succès d'ici là, je posterai les étapes de PyCrypto. Les étapes supposeront que vous avez pu compiler mpir.

j'espère que cela aidera.

4
répondu casevh 2012-07-10 07:21:24

Pour Windows 7:

pour installer Phycrypto sous Windows,

Essayez ceci dans l'Invite de Commande,

Set path=C:\Python27\Scripts(I. e path where easy_install is located)

puis exécutez ce qui suit,

easy_install pycrypto

Pour Ubuntu:

Essayez cette,

Télécharger Phycrypto de " https://pypi.python.org/pypi/pycrypto "

puis changez votre chemin courant en chemin téléchargé à l'aide de votre terminal et l'utilisateur devrait être root:

Eg: root@xyz-virtual-machine:~ / phycrypto-2.6.1#

puis exécuter ce qui suit en utilisant le terminal:

python setup.py installer

ça a marché pour moi. L'espoir fonctionne pour tous..

4
répondu JayaPrakash 2015-04-12 09:46:35

donc J'installe MinGW et j'empile ça sur la ligne d'installation comme compilateur de choix. Mais ensuite j'obtiens L'erreur "RuntimeError: chmod error".

cette erreur "RuntimeError: chmod error" se produit parce que le script d'installation n'a pas trouvé la commande chmod .

Comment faire pour contourner ça?

Solution

il vous suffit de ajouter les binaires MSYS au chemin et relancer le script d'installation .

(N. B: notez que MinGW est livré avec MSYS so )

exemple

par exemple, si nous sommes dans le dossier C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>

C:\.....> set PATH=C:\MinGW\msys.0\bin;%PATH%

C:\.....> python setup.py install

facultatif: vous pourriez avoir besoin de nettoyer avant de relancer le script:

`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`
3
répondu Bludzee 2015-07-23 23:31:05
  1. Aller à " Compilateur Microsoft Visual C++ pour Python 2.7 " et de continuer basé sur "configuration Système requise" (c'est ce que j'ai fait pour mettre les étapes ci-dessous).

  2. Install setuptools (setuptools 6.0 ou plus tard est requis pour Python pour détecter automatiquement ce paquet de compilateur) soit par: pip install setuptools ou télécharger "Setuptools l'amorçage de l'installateur" source à partir de , enregistrez ce fichier somwhere sur votre filestystem "ez_python.py" et de l'installer avec: python ez_python.py

  3. Install wheel (wheel est recommandé pour la production de paquets binaires pré-construits). Vous pouvez l'installer avec: pip install wheel

  4. Open Windows higher Command Invite de cmd.exe (avec "exécuter en tant qu'administrateur") à installer "le compilateur Visual C++ de Microsoft pour Python 2.7" pour tous les utilisateurs. Vous pouvez utiliser la commande suivante pour le faire: msiexec /i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1 il suffit d'utiliser votre propre chemin de fichier: msiexec /i <path to MSI> ALLUSERS=1

  5. Maintenant, vous devriez être en mesure d'installer phycrypto avec: pip install pycrypto

3
répondu damian1baran 2016-07-30 22:12:01

essayez juste d'utiliser:

pip install pycryptodome

ou:

pip install pycryptodomex

Source: https://pypi.python.org/pypi/pycryptodome

3
répondu Kade 2017-01-04 16:22:09

ce n'est probablement pas la solution optimale, mais vous pouvez télécharger et installer le paquet gratuit Visual C++ Express DE MS.cela vous donnera le compilateur C++ dont vous avez besoin pour compiler le code Phycrypto.

2
répondu sizzzzlerz 2012-07-10 01:51:15

donc J'installe MinGW et j'empile ça sur la ligne d'installation comme compilateur de choix. Mais ensuite j'obtiens L'erreur "RuntimeError: chmod error".

vous devez installer le paquet msys sous MinGW

enter image description here

et ajouter les entrées suivantes dans votre variable PATH env.

  • C:\MinGW\bin
  • C:\MinGW\msys.0\bin vous trouverez l'exécutable chmod]

ensuite, exécutez votre commande à partir de l'invite de commande normale de windows.

1
répondu Aniket Thakur 2015-04-26 17:47:00

ma réponse pourrait ne pas être liée à la mention de problème ici, mais j'ai eu le même problème avec Python 3.4 où Crypto.Le cryptage n'était pas une importation valable. J'ai essayé D'installer Phycrypto et j'ai eu des problèmes.

après quelques recherches que j'ai trouvé avec 3.4 vous devez utiliser pycryptodome .

j'installe phycryptodome en utilisant pycharm et j'étais bon.

à partir de Crypto.Chiffrement import AES

1
répondu Virendra Patel 2017-08-18 17:01:19

pour des raisons juridiques étranges, les binaires ne sont pas publiés de la manière habituelle. Voidspace est normalement la meilleure deuxième source. Mais depuis un certain temps, voidspace maintainer n'a pas mis à jour. Utilisez le zip De [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]

0
répondu Zimmermann 2014-09-23 21:53:09

Étape 1: installer Visual C++ 2010 Express À partir de ici .

(N'installez pas Microsoft Visual Studio 2010 Service Pack 1)

Étape 2: Supprimer tous les paquets redistribuables Visual C++ 2010 de Microsoft Du Panneau de configuration\Programmes et fonctionnalités. Si vous ne le faites pas, alors l'installation va échouer avec un obscur "erreur Irrécupérable lors de l'installation d'erreur".

Étape 3: Installer la version hors ligne de Windows SDK pour Visual Studio 2010 (v7.1) de ici . Cela est nécessaire pour les extensions de 64 bits. Windows a montage intégré pour ISOs comme Pismo.

Étape 4: vous devez installer le fichier ISO avec le paquet D'Audit Pismo File Mount. Télécharger Pismo de ici

Étape 5: clic droit sur le fichier ISO téléchargé et choisir le montage avec Pismo. Ensuite, installez le Setup\SDKSetup.exe au lieu de setup.EXE.

étape 6a: créer un vcvars64.bat file in C:\Program fichiers (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 en changeant le répertoire à C:\Program fichiers (x86)\Microsoft Visual Studio version\VC\ à l'invite de commande. Taper la commande sur l'invite de commande: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

étape 6b: Pour configurer cette fenêtre D'invite de commande pour les constructions en ligne de commande 64 bits qui ciblent les plates-formes x86, à l'invite de commande, entrez: vcvarsall x86 cliquez sur ici pour plus d'options.

Étape 7: à l'invite de commande, installez le PyCrypto en tapant: C:\Python3X>pip install -U your_wh_file

0
répondu Asubiaro Toluwase Victor 2018-02-08 04:45:33

j'ai eu Pycharm pour python.

  1. passer à pycharm -> file -> setting -> project interpreter

  2. cliquez sur +

  3. rechercher "pycrypto" et installer le paquet

Note: si vous n'avez pas" Microsoft Visual C++ Compiler for Python 2.7 " installé, alors il vous demandera pour l'installation, une fois l'installation fini, essayez les étapes ci-dessus devrait fonctionner.

0
répondu RAKESH 2018-07-04 15:50:34