web-dev-qa-db-fra.com

PyCrypto sur python 3.5

J'ai trouvé des installateurs PyCrypto pour Python 3.3 et 3.4, mais rien pour Python 3.5.

Quand j'essaye d'installer PyCrypton en utilisant pip install, ça dit:

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.  

Est-il possible d'installer PyCrypto sur Python 3.5 sous Windows 10? Merci!

24
Trsak

Cet avertissement ne doit pas arrêter la construction, mais il manque probablement le compilateur Visual Studio 2015 nécessaire pour créer des extensions binaires (dont PyCrypto dispose). Consultez le Guide de l'utilisateur de Python Packaging pour connaître le compilateur dont vous avez besoin pour votre version de Python.

La raison pour laquelle vous avez besoin du compilateur est que PyCrypto n'offre officiellement qu'une distribution source. Donc, vous avez deux options pour installer PyCrypto:

1. Construire à partir de la source:

C'est en fait assez simple, mais cela nécessite l'installation d'un logiciel supplémentaire. Encore une fois, reportez-vous au Python Packaging User Guide lié ci-dessus pour trouver le compilateur adapté à votre version de Python. Je pense qu’il existe une option permettant d’installer uniquement le compilateur approprié pour Python si vous effectuez une installation personnalisée de Visual Studio.

Ensuite, une fois l’installation terminée et le redémarrage de votre ordinateur probablement effectué, vous devriez pouvoir exécuter simplement pip install pycrypto et pip vont télécharger le code source et le compiler pour vous.

Si vous avez également installé la roue (pip install wheel) puis pip créera une roue à partir de la source et la mettra en cache. C’est ainsi que j’ai créé les roues que je partage dans l’option 2.

2. Installer une distribution construite à partir d'une tierce partie

Je suis une tierce partie et j’ai compilé des disques partagés pour PyCrypto 2.6.1 avec Python 3.5 pour Windows 32 et 64 bits sur mon dépôt GitHub . J'ai inclus des instructions d'installation sur le readme de ce dépôt.

Si vous recherchez une distribution construite pour une ancienne version de Python et/ou PyCrypto, j'ai également lié à Voidspace sur le fichier Lisez-moi de mon référentiel (désolé, je suis limité à 2 liens). ici).

41
sfbahr

Utilisez plutôt pycryptodome ! C'est un projet toujours maintenu (juin 2017) et qui inclut les fonctions de pycrypto pour python 3.xx (Cela a fonctionné pour moi le python 3.6)

Page du projet:

https://www.pycryptodome.org/en/latest/index.html

13
SvennnG

Vous pouvez essayer PyCryptodome , un fork de PyCrypto. Il a des roues Windows pour Python 3.5.

Utilisez ce message comme référence pour effectuer cette procédure sur les systèmes Windows: http://codeyarns.com/2012/04/28/python-version-not-found-in -registry-error/

En utilisant cela, nous pouvons faire ceci:

  1. À l'aide de la boîte de dialogue Exécuter Windows, ouvrez le programme regedit.
  2. Exporter de HKEY_LOCAL_MACHINE\SOFTWARE\Python _ (python_install_35.reg). Allez à cet emplacement et exécutez "export" dans le menu contextuel.
  3. Editez le fichier reg et remplacez HKEY_LOCAL_MACHINE avec HKEY_CURRENT_USER
  4. Exécutez une invite de la console (cmd) en tant qu'administrateur et exécutez regedit python_install_35.reg
  5. Ajouter les entrées au registre
  6. Voir les entrées modifiées avec regedit et changer HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5 à HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.3.
  7. Relancez le programme d'installation
0
andhdo