PyCrypto на питоне 3.5

Я нашел несколько установщиков PyCrypto для Python 3.3 и 3.4, но ничего для Python 3.5.

Когда я пытаюсь установить PyCrypton с помощью pip install, он говорит:

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

Есть ли способ установить PyCrypto на Python 3.5 в Windows 10? Спасибо!


person Trsak    schedule 26.09.2015    source источник
comment
ЛУЧШЕЕ решение здесь: pycryptodome.readthedocs.io/en/latest/src/installation. html   -  person JeremiahBarrar    schedule 31.05.2017


Ответы (5)


Это предупреждение не должно останавливать сборку, скорее всего, вам не хватает компилятора Visual Studio 2015, необходимого для сборки бинарных расширений (который есть у PyCrypto). См. Руководство пользователя по упаковке Python, какой компилятор вам нужен для ваша версия питона.

Причина, по которой вам нужен компилятор, заключается в том, что PyCrypto официально предлагает только исходный дистрибутив. Итак, у вас есть два варианта установки PyCrypto:

1. Сборка из исходников:

На самом деле это довольно просто, но требует установки дополнительного программного обеспечения. Опять же, обратитесь к приведенному выше Руководству пользователя по упаковке Python, чтобы найти подходящий компилятор для вашей версии Python. Я думаю, что есть возможность установить соответствующий компилятор для Python только в том случае, если вы выполняете выборочную установку Visual Studio.

Затем, после завершения установки, и вам, вероятно, пришлось перезагрузить компьютер, вы сможете просто запустить pip install pycrypto, и pip загрузит исходный код и скомпилирует его для вас.

Если вы также установили колесо (pip install wheel), то pip создаст колесо из исходного кода и кэширует его, как я создал колеса, которыми я делюсь в варианте 2.

2. Установите встроенный дистрибутив от стороннего производителя.

Я являюсь третьей стороной, и у меня есть общие колеса, которые я скомпилировал для PyCrypto 2.6.1 с Python 3.5 для 32- и 64-разрядной Windows в моем репозитории GitHub. Я включил инструкции по установке в файл readme этого репозитория.

Если вы ищете встроенный дистрибутив для более старой версии Python и/или PyCrypto, я также дал ссылку на Voidspace в файле readme моего репозитория (извините, я ограничен двумя ссылками здесь).

person sfbahr    schedule 26.10.2015
comment
Это большая помощь! - person ksaylor11; 22.03.2016
comment
Отличная работа @sfbahr, спасла меня от мира боли. - person Linef4ult; 09.12.2016
comment
Теперь я ищу 64-битные окна python3.6: | - person mithuntnt; 11.04.2017

Вместо этого используйте pycryptodome! Это проект, который все еще поддерживается (июнь 2017 г.) и включает в себя функции pycrypto для python 3.xx (у меня это работало на python 3.6).

Страница проекта:

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

person SvennnG    schedule 03.07.2017
comment
Я использую pycrypto в Linux, и это отлично сработало для тестирования сервера в среде Windows. Имеет тот же интерфейс, что и pycrypto, его можно заменить. - person k26dr; 11.08.2017
comment
pip3 install pycryptodome с репозиторием здесь. - person not2qubit; 14.10.2018

Вы можете попробовать PyCryptodome, ответвление PyCrypto. У него есть колеса Windows для Python 3.5.

person SquareRootOfTwentyThree    schedule 06.10.2015

Простое решение для версии Python 3.x:

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win-amd64-py3.4.exe
person Gil Baggio    schedule 22.10.2020

Используйте этот пост в качестве справки для выполнения этой процедуры в системах Windows: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

Используя это, мы можем сделать это:

  1. В диалоговом окне «Выполнить» Windows откройте программу regedit.
  2. Экспорт из HKEY_LOCAL_MACHINE\SOFTWARE\Python (python_install_35.reg). Перейдите в это место и выполните «экспорт» в контекстном меню.
  3. Отредактируйте reg файл и замените HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER
  4. Выполните приглашение консоли (cmd) от имени администратора и выполните regedit python_install_35.reg
  5. Добавьте записи в реестр
  6. Просмотрите измененные записи с помощью regedit и измените HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5 на HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.3.
  7. Перезапустите установщик
person andhdo    schedule 03.12.2015