154 votes

Comment installe-t-on PyCrypto sur Windows ?

J'ai lu tous les autres de google source et fil, avec rien d'autre travail.

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

J'ai donc installer MinGW et de tactique que sur la ligne d'installation, car le compilateur de choix. Mais puis-je obtenir l'erreur "RuntimeError: chmod error".

Comment puis-je contourner ce problème? J'ai essayé d'utiliser le pep, qui donne le même résultat. J'ai trouvé un préconstruit PyCrypto 2.3 binaire et installé, mais il est nulle part pour être trouvée sur le système (pas de travail).

Des idées?

194voto

Michael Dillon Points 18741

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

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

Mise à JOUR:
@Udi suggère dans les commentaires ci-dessous, la commande suivante installe pycrypto et peut être utilisé en virtualenv ainsi:

easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe

Avis choisissez le lien qui vous intéresse pour votre installation à partir de cette liste

20voto

Chandan Points 338

Pour VS2010 :

Pour VS2012 :

Ensuite, appelez :

19voto

Jarrod Roberson Points 32263

En général

vcvarsall.bat fait partie du compilateur Visual C++, vous avez besoin d'installer ce que vous essayez d'installer. Ne même pas essayer de traiter avec MingGW si votre Python a été compilé avec Visual Studio de la chaîne, et vice-versa. Même la version de l'outil de Microsoft de la chaîne est important. Python compilé avec VS 2008 ne fonctionne pas avec les extensions compilées avec VS 2010!

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

Il y a beaucoup d'informations et beaucoup de choses à lire pour obtenir ce droit quel que soit le système que vous êtes sur ce lien.

Méfiez-vous à l'aide de Visual Studio 2010 ou non à l'aide de Visual Studio 2008

Comme je sais que la suite est encore vrai. Cela a été posté dans le lien ci-dessus, en juin 2010, se référant à essayer de construire des extensions avec VS 2010 Express contre le Python installateurs disponibles sur python.org.

Soyez prudent si vous faites cela. Python 2.6 et 2.7 de python.org sont construit avec Visual Studio 2008 compilateurs. Vous devrez créer un 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 également re-construire Python avec Visual Studio 2010 Express. Vous ne pouvez pas utiliser le standard de Python installateur binaire pour De Windows. Et vous ne pouvez pas utiliser tout C/C++ extensions intégrées à une autre compilateur de Visual Studio 2010 (Express).

Avis: C'est une des raisons que j'ai abandonné Windows pour tous sérieux des travaux de développement pour OSX!

6voto

darnold0714 Points 11

J'ai réussi à obtenir de l' pycrypto de compiler en utilisant MinGW32 et MSYS. Cela suppose que vous avez pip ou easy_install installé.

Voici comment j'ai fait:

1) Installer MinGW32. Pour les fins de cette explication, nous allons supposer qu'il est installé en C:\MinGW. Lorsque vous utilisez le programme d'installation, que je recommande, sélectionnez le compilateur C++ . MSYS devez installer avec MinGW

2) Ajouter l' 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 votre %PATH%. Si vous ne connaissez pas, cet article est très utile.

3) dans la barre De recherche, exécutez msys et le MSYS terminal s'ouvre. Pour ceux qui connaissent Cygwin, il fonctionne de manière similaire.

4) à Partir de la MSYS terminal pip install pycrypto doit s'exécuter sans erreur.

4voto

casevh Points 4596

Il est possible de construire PyCrypto l'aide de Windows 7 SDK boîtes à outils. Il existe deux versions de Windows 7 SDK. La version originale (par .Net 3.5) inclut le VS 2008 compilateurs de ligne de commande. 32 - et 64-bits compilateurs peuvent être installés.

La première étape consiste à compiler mpir pour fournir rapidement de l'arithmétique. J'ai documenté le processus que j'utilise dans le gmpy de la bibliothèque. Des instructions détaillées pour la construction de mpir à l'aide du SDK compilateur peut être trouvé à sdk_build

Les étapes clés pour utiliser le SDK compilateurs à partir d'une invite de commandes DOS sont:

1) Exécuter vcvars32.chauve-souris ou vcvars64.chauve-souris comme approprié.

2) À l'invite de commandes, exécutez "set MSSdk=1"

3) À l'invite de commandes, exécutez "set DISTUTILS_USE_SDK=1"

Cela devrait permettre "de python setup.py installer" pour réussir s'il n'y a pas d'autres questions avec le code C. Mais je vaaguely rappelez-vous que j'ai dû modifier un couple de PyCrypto fichiers pour permettre mpir et de trouver la mpir bibliothèques, mais je n'ai pas mon système Windows pour le moment. Ce sera un couple de jours avant que je vais avoir du temps pour recréer les étapes. Si vous n'avez pas de succès, je vais poster le PyCrypto étapes. Les étapes supposent que vous étaient en mesure de compiler mpir.

J'espère que cette aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X