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

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

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

поэтому я устанавливаю MinGW и tack, что в строке установки в качестве компилятора выбора. Но потом я получаю ошибку "RuntimeError: chmod error".

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

какие идеи?

19 ответов


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

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

обновление:
Как @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


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


В общем

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

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

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

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

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

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

Visual Studio 2010 Express связывается с неправильной версией CRT: msvcr100.файл DLL.

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

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


для VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

для VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%
звоните:
pip install pyCrypto 

спустя годы и годы, 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)


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

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

pip install pycryptodome

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


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

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

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

2) Добавить c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys.0, c:\mingw\msys.0\bin and c:\mingw\msys.0\sbin на %PATH%. Если нет ... знакомый, в этой статье очень полезная.

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

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


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


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

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

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

1) Запустите либо vcvars32.летучая мышь или vcvars64.летучая мышь по мере необходимости.

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

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

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

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


Для Windows 7:

для установки Pycrypto в Windows,

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

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

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

pycrypto easy_install

Для Ubuntu:

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

загрузить Pycrypto из "https://pypi.python.org/pypi/pycrypto"

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

например: root@xyz-виртуальная машина:~ / pycrypto-2.6.1#

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

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

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


поэтому я устанавливаю MinGW и tack, что в строке установки в качестве компилятора предпочтительный. Но затем я получаю ошибку "RuntimeError: ошибка chmod".

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

как это обойти?

решение

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

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

пример

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

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

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

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

  1. на "компилятор Microsoft Visual C++ для Python 2.7" и продолжить на основе "системных требований" (это то, что я сделал, чтобы поставить ниже шаги вместе).

  2. установить setuptools (setuptools 6.0 или более поздней версии требуется для Python для автоматического обнаружения этого пакета компилятора) либо: pip install setuptools или скачать" Setuptools загрузочный установщик " источник С сохраните этот файл где-то на вашем filestystem как "ez_python.py" и установите с: python ez_python.py

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

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

  5. теперь вы должны иметь возможность установить pycrypto с:pip install pycrypto


попробуйте просто через:

pip install pycryptodome

или:

pip install pycryptodomex

источник:https://pypi.python.org/pypi/pycryptodome


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


поэтому я устанавливаю MinGW и tack, что в строке установки в качестве компилятора выбора. Но затем я получаю ошибку "RuntimeError: ошибка chmod".

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

enter image description here

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

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

затем запустите команду из normal командная строка Windows.


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

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

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

с крипто.Шифр!--2-- > импорт AES


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


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

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

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

Шаг 3: Установка оффлайн версии Windows пакет SDK для Visual Studio 2010 с (В7.1) с здесь. Это необходимо для 64-битных расширений. Windows имеет встроенный монтаж для ISOs, таких как Pismo.

Шаг 4: вам нужно установить ISO-файл с пакетом аудита монтирования файлов Pismo. Скачать Pismo из здесь

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

шаг 6a: создайте vcvars64.файл bat в C:\Program файлы (х86)\Майкрософт Visual Студио 10.0\ВК\бин\amd64 от изменения каталог файлов C:\Program (х86)\Майкрософт Visual Studio версия\VC\ в командной строке. Введите команду в командной строке: 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


У меня был Pycharm для python.

  1. на pycharm -> file -> setting -> project interpreter

  2. нажать на кнопку +

  3. искать "pycrypto" и установить пакет

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