Как установить PyCrypto в Windows?

Я читал каждый другой источник google и поток SO, ничего не работая.

Python 2.7.3 32bit установлен на Windows 7 64bit. Загрузите, извлеките, а затем попытайтесь установить результаты PyCrypto в "Unable to find vcvarsall.bat".

Итак, я устанавливаю MinGW и придерживаюсь того, что на установочной линии является компилятором. Но затем я получаю сообщение об ошибке "RuntimeError: chmod error".

Как я могу обойти это в мире? Я пробовал использовать pip, который дает тот же результат. Я нашел предустановленный двоичный файл PyCrypto 2.3 и установил его, но его нигде не найти в системе (не работает).

Любые идеи?

Ответ 1

Если у вас еще нет установленной среды разработки C/С++, совместимой с бинарниками Visual Studio, распространяемыми Python.org, вам следует придерживаться установки только чистых пакетов или пакетов Python, для которых доступен двоичный файл Windows.

К счастью, для Windows имеются доступные двоичные файлы PyCrypto: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

UPDATE:
Как поясняет @Udi в комментарии ниже, следующая команда также устанавливает pycrypto и также может использоваться в virtualenv:

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

Обратите внимание, чтобы выбрать соответствующую ссылку для вашей установки из этот список

Если вы ищете сборки для Python 3.5, см. PyCrypto на python 3.5

Ответ 2

Недавно Microsoft недавно выпустила автономный, выделенный Microsoft Visual С++ Compiler для Python 2.7. Если вы используете Python 2.7, просто установите этот компилятор и Setuptools 6.0 или более поздней версии, и большинство пакетов с расширениями C теперь будут легко компилироваться.

Ответ 3

Спустя годы и годы Python, наконец, согласился на бинарный дистрибутив, называемый wheel который позволяет устанавливать даже бинарные расширения на Windows без компилятора с простым pip install packagename. Есть список популярных пакетов с их статусом. Pycrypto еще не существует, но, например, lxml, PySide и Scrapy.

Отредактировано ноябрь 2015: pip uninstall pycrypto и pip install pycryptodome. Это pycrypto вилка с новыми функциями, и она поддерживает колесо. Он заменяет pycrypto, поэтому существующий код будет продолжать работать (см. Https://pycryptodome.readthedocs.org/en/latest/src/examples.html).

Ответ 4

Обычно

vcvarsall.bat является частью компилятора Visual С++, вам необходимо установить то, что вы пытаетесь установить. Даже не пытайтесь иметь дело с MingGW, если ваш Python был скомпилирован с помощью инструментальной цепочки Visual Studio и наоборот. Даже важна версия цепочки инструментов Microsoft. Python, скомпилированный с VS 2008, не будет работать с расширениями, скомпилированными с VS 2010!

Вы должны скомпилировать PyCrypto с тем же компилятором, с которым была скомпилирована версия Python. Google для "Не удалось найти vcvarsall.bat", потому что это корень вашей проблемы, Это очень распространенная проблема с компиляцией расширений Python в Windows.

Существует много информации и многое, что нужно прочитать, чтобы получить право на любую систему, с которой вы работаете в этой ссылке.

Остерегайтесь использования Visual Studio 2010 или не используете Visual Studio 2008

Насколько я знаю, все еще верно. Это было опубликовано в ссылке выше в июне 2010 года, ссылаясь на попытку создания расширений с помощью VS 2010 Express в отношении установщиков Python, доступных на python.org.

Будьте осторожны, если вы это сделаете. Python 2.6 и 2.7 из python.org - это построенный с помощью компиляторов Visual Studio 2008. Вам нужно будет установить связь с тот же CRT (msvcr90.dll) как Python.

Ссылки на Visual Studio 2010 Express с неправильной версией CRT: msvcr100.dll.

Если вы это сделаете, вы также должны перестроить Python с помощью Visual Studio 2010 Экспресс. Вы не можете использовать стандартный двоичный установщик Python для Окна. Вы также не можете использовать любые расширения C/С++, созданные с помощью другого компилятор, чем Visual Studio 2010 (Express).

Мнение: Это одна из причин, по которой я отказался от Windows для всех серьезных разработок OSX!

Ответ 5

Для VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Для VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

затем Call:

pip install pyCrypto 

Ответ 6

PyCryptodome - почти совместимый fork PyCrypto с колесами Windows, доступными на pypi.

Вы можете установить его с помощью простого:

pip install pycryptodome

Веб-сайт содержит инструкции по его созданию из источников с помощью компиляторов Microsoft.

Ответ 7

Мне удалось получить pycrypto для компиляции с помощью MinGW32 и MSYS. Это предполагает, что у вас установлены pip или easy_install.

Вот как я это сделал:

1) Установите MinGW32. Ради этого объяснения предположим, что он установлен в C:\MinGW. При использовании установщика, который я рекомендую, выберите компилятор С++ . MSYS должен установить с помощью MinGW

2) Добавьте 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 к вашему %PATH%. Если вы не знакомы, эта статья очень полезна.

3) На панели поиска запустите MSYS и откроется терминал MSYS. Для тех, кто знаком с Cygwin, он работает аналогичным образом.

4) Изнутри терминала MSYS pip install pycrypto после этого должен работать без ошибок.

Ответ 8

Для Windows 7:

Чтобы установить Pycrypto в Windows,

Попробуйте это в командной строке,

Установите путь = C:\Python27\Scripts (то есть путь, где находится easy_install)

Затем выполните следующее,

easy_install pycrypto

Для Ubuntu:

Попробуй это,

Загрузите Pycrypto с веб-сайта https://pypi.python.org/pypi/pycrypto.

Затем измените ваш текущий путь на загруженный путь, используя ваш терминал, и пользователь должен быть пользователем root:

Например: root @xyz-virtual-machine: ~/pycrypto-2.6.1 #

Затем выполните следующие действия с помощью терминала:

Python setup.py установить

Это сработало для меня. Надежда работает на всех..

Ответ 9

Для тех из вас, кто ищет python 3.4, я нашел git repo с установщиком, который просто работает. Вот прямые ссылки для x64 и x32

Ответ 10

Возможно создание PyCrypto с использованием наборов инструментов Windows 7 SDK. Существует две версии Windows 7 SDK. Исходная версия (для .Net 3.5) включает компиляторы командной строки VS 2008. Оба 32- и 64-разрядных компилятора могут быть установлены.

Первым шагом является компиляция mpir для обеспечения быстрой арифметики. Я документировал процесс, который я использую в библиотеке gmpy. Подробные инструкции по созданию mpir с использованием компилятора SDK можно найти на sdk_build

Ключевыми шагами для использования компиляторов SDK из приглашения DOS являются:

1) Запустите либо vcvars32.bat, либо vcvars64.bat, если это необходимо.

2) В командной строке выполните "set MSSdk = 1"

3) В командной строке выполните "set DISTUTILS_USE_SDK = 1"

Это должно позволить "установить python setup.py" успешно, если нет никаких других проблем с кодом C. Но я смутно помню, что мне пришлось отредактировать пару файлов PyCrypto, чтобы включить mpir и найти библиотеки mpir, но на данный момент у меня нет системы Windows. Пройдет несколько дней, прежде чем я успею воссоздать шаги. Если вы не сообщили об успехе к тому времени, я отправлю шаги PyCrypto. Шаги предполагают, что вы смогли скомпилировать mpir.

Надеюсь, это поможет.

Ответ 11

Итак, я устанавливаю MinGW и придерживаюсь того, что на линии установки в качестве компилятора выбора. Но затем я получаю сообщение об ошибке "RuntimeError: chmod error".

Эта ошибка "RuntimeError: chmod error" происходит потому, что установка script не нашла команду chmod.

Как я могу обойти это в мире?

Решение

Вам нужно только добавить двоичные файлы MSYS в PATH и перезапустить установку script.

(N.B: Обратите внимание, что MinGW поставляется с MSYS)

Пример

Например, если мы находимся в папке C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>

C:\.....> set PATH=C:\MinGW\msys\1.0\bin;%PATH%
C:\.....> python setup.py install

Необязательно: вам, возможно, потребуется очистить до повторного запуска script:

`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`

Ответ 12

  • Перейдите в " Microsoft Visual С++ Compiler for Python 2.7" и продолжайте работу на основе "Системные требования" (это то, что я сделал, чтобы сделать шаги ниже).

  • Установить setuptools (для того, чтобы Python автоматически обнаруживал этот пакет компилятора, требуется setuptools 6.0 или новее) либо: pip install setuptools или загрузите "Setupstools bootstrapping installer" source из, сохраните этот файл где-нибудь в вашей файловой системе как "ez_python.py" и установите с помощью: python ez_python.py

  • Установить колесо (колесо рекомендуется для создания готовых бинарных пакетов). Вы можете установить его с помощью: pip install wheel

  • Откройте Windows с надписью командной строки cmd.exe(с "Запуск от имени администратора" ) до установите "Microsoft Visual С++ Compiler for Python 2.7" для всех пользователей. Для этого вы можете использовать следующую команду: msiexec/i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1 просто используйте свой собственный путь к файлу: msiexec /i <path to MSI> ALLUSERS=1

  • Теперь вы должны установить pycrypto с помощью: pip install pycrypto

Ответ 14

Это, вероятно, не оптимальное решение, но вы можете загрузить и установить бесплатный пакет Visual С++ Express из MS. Это даст вам компилятор С++, необходимый для компиляции кода PyCrypto.

Ответ 15

Итак, я устанавливаю MinGW и придерживаюсь того, что на установочной линии является компилятором. Но затем я получаю сообщение об ошибке "RuntimeError: chmod error".

Вам нужно установить пакет msys под MinGW

enter image description here

и добавьте следующие записи в вашу переменную env PATH.

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin [Здесь вы найдете исполняемый файл chmod]

Затем запустите свою команду из командной строки Windows.

Ответ 16

Мой ответ может быть не связан с упоминанием проблемы здесь, но у меня была такая же проблема с Python 3.4, где Crypto.Cipher не был допустимым импортом. Поэтому я попытался установить PyCrypto и столкнулся с проблемами.

После некоторых исследований, которые я нашел с 3.4, вы должны использовать pycryptodome.

Я устанавливаю pycryptodome, используя pycharm, и я был хорош.

из Crypto.Cipher импортировать AES

Ответ 17

Из-за странных юридических причин двоичные файлы не публикуются обычным способом. Voidspace обычно является лучшим вторым источником. Но так как довольно некоторое время, сторонник voidspace не обновлялся. Используйте zip из [https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]

Ответ 18

Шаг 1: Установите Visual C++ 2010 Express отсюда.

(Не устанавливайте Microsoft Visual Studio 2010 с пакетом обновления 1)

Шаг 2. Удалите все распространяемые пакеты Microsoft Visual C++ 2010 из Панели управления\Программы и компоненты. Если вы этого не сделаете, то установка завершится с ошибкой "Неустранимая ошибка во время установки".

Шаг 3. Установите отсюда автономную версию Windows SDK для Visual Studio 2010 (v7.1). Это требуется для 64-битных расширений. Windows имеет встроенное крепление для ISO, таких как Pismo.

Шаг 4: Вам необходимо установить файл ISO с помощью пакета аудита Pismo File Mount Audit. Загрузите Pismo отсюда

Шаг 5: Щелкните правой кнопкой мыши по загруженному ISO файлу и выберите mount с Pismo. После этого установите Setup\SDKSetup.exe вместо setup.exe.

Шаг 6а. Создайте файл vcvars64.bat в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64, изменив каталог на C:\Program Files (x86)\Версия Microsoft Visual Studio\VC\on командная строка Введите команду в командной строке: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

Шаг 6b: Чтобы настроить это окно командной строки для 64-разрядных сборок командной строки, предназначенных для платформ x86, введите в командной строке: vcvarsall x86 Нажмите здесь, чтобы получить дополнительные параметры.

Шаг 7: В командной строке установите PyCrypto, набрав: C:\Python3X>pip install -U your_wh_file

Ответ 19

У меня был Pycharm для питона.

  1. Зайдите в pycharm → file → setting → project interpreter

  2. Нажмите на +

  3. Найдите "pycrypto" и установите пакет

Примечание. Если у вас не установлен "Microsoft Visual C++ Compiler для Python 2.7", он предложит выполнить установку, после завершения установки попробуйте выполнить описанные выше шаги, чтобы все заработало.

Ответ 20

Если вы работаете в Windows и боретесь с установкой Pycrypcto, просто используйте: pip install pycryptodome. Это работает как чудо, и это сделает вашу жизнь намного проще, чем пытаться сделать много настроек и настроек.