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?
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
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.
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.
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!
pour VS2010:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
pour VS2012:
SET VS90COMNTOOLS=%VS110COMNTOOLS%
puis appelez:
pip install pyCrypto
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 )
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.
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.
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.
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..
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`
-
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).
-
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
-
Install wheel (wheel est recommandé pour la production de paquets binaires pré-construits). Vous pouvez l'installer avec:
pip install wheel
-
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
-
Maintenant, vous devriez être en mesure d'installer phycrypto avec:
pip install pycrypto
essayez juste d'utiliser:
pip install pycryptodome
ou:
pip install pycryptodomex
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.
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
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.
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
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]
É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
j'ai eu Pycharm pour python.
-
passer à
pycharm -> file -> setting -> project interpreter
-
cliquez sur +
-
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.