Как установить PyCrypto на Windows?
Я читал все другие источники google и так поток, ничего не работает.
Python 2.7.3 32bit установлен на Windows 7 64bit. Загрузка, извлечение, а затем попытка установить PyCrypto приводит к "Unable to find vcvarsall.bat".
поэтому я устанавливаю MinGW и прикрепляю его в строке установки в качестве компилятора по выбору. Но тогда я получаю ошибку "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 имеет важное значение. Питон компилируется с 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 есть построен с помощью компиляторов 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 должен установить сMinGW2) Добавить
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должно работать без ошибок после этого.
можно построить PyCrypto с помощью Windows 7 SDK toolkits. Существует две версии Windows 7 SDK. Исходная версия (для .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. Но я смутно помню, что мне пришлось отредактировать пару PyCrypto файлы для включения mpir и поиска библиотек mpir, но на данный момент у меня нет моей системы Windows. Это будет через пару дней, прежде чем у меня будет время, чтобы воссоздать шаги. Если вы не сообщили об успехе к тому времени, я опубликую шаги PyCrypto. Шаги будут предполагать, что вы смогли скомпилировать mpir.
Я надеюсь, что это помогает.
Для Windows 7:
чтобы установить Pycrypto в Windows,
попробуйте это в командной строке
Set path=C:\Python27\Scripts (т. е. путь, где находится easy_install)
затем выполните следующие действия,
pycrypto easy_install
Для Ubuntu:
попробуйте это,
скачать Pycrypto из "https://pypi.python.org/pypi/pycrypto"
затем измените свой текущий путь на загруженный путь с помощью вашего терминала, и пользователь должен быть root:
например: root@xyz-virtual-machine:~/pycrypto-2.6.1#
затем выполните следующие действия с помощью терминала:
python setup.py установить
Это сработало для меня. Надежда работает для всех..
поэтому я устанавливаю MinGW и прикрепляю его в строке установки в качестве компилятора предпочтительный. Но потом я получаю сообщение об ошибке "RuntimeError: chmod error".
ошибка
"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`
на "компилятор Microsoft Visual C++ для Python 2.7" и продолжить на основе "системные требования" (это то, что я сделал, чтобы положить ниже шаги вместе).
установить setuptools (setuptools 6.0 или более поздней версии требуется для Python для автоматического обнаружения этого пакета компилятора) либо:
pip install setuptoolsили скачать "Setuptools bootstrapping installer" источник С, сохраните этот файл где-нибудь в вашей файловой системе как "ez_python.py" и установить с:python ez_python.pyустановить колеса (колесо рекомендуется для производства готовых двоичных пакетов). Вы можете установить его с помощью:
pip install wheelОткройте командную строку cmd с повышенными правами Windows.exe (с "Запуск от имени администратора") до установить "компилятор Microsoft Visual C++ для Python 2.7" для всех пользователей. Вы можете использовать следующее команда для этого: msiexec / i
C:\users\jozko\download\VCForPython27.msi ALLUSERS=1просто используйте свой собственный путь к файлу:msiexec /i <path to MSI> ALLUSERS=1теперь вы должны быть в состоянии установить pycrypto с:
pip install pycrypto
наверное, это не оптимальное решение, но вы можете скачать и установить бесплатный пакет Visual C++, Экспресс-жи это даст вам компилятор C++ нужно компилировать код PyCrypto.
поэтому я устанавливаю MinGW и прикрепляю его в строке установки в качестве компилятора по выбору. Но потом я получаю сообщение об ошибке "RuntimeError: chmod error".
вам нужно установить пакет msys под MinGW
и добавьте следующие записи в переменную env вашего пути.
C:\MinGW\binC:\MinGW\msys.0\bin[здесь вы найдете исполняемый файл chmod]затем запустите команду из обычного командная строка Windows.
мой ответ может быть не связан с проблемой упоминания здесь, но у меня была такая же проблема с Python 3.4 где крипто.Шифр не был действительным импортом. Поэтому я попытался установить PyCrypto и столкнулся с проблемами.
после некоторых исследований я нашел с 3.4 вы должны использовать pycryptodome.
Я устанавливаю pycryptodome с помощью pycharm, и я был хорош.
с крипто.Шифр импорт AES
из-за странных юридических причин двоичные файлы не публикуются обычным способом. Пустотное пространство обычно является лучшим вторым источником. Но с некоторых пор 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 с (v7. 1) от здесь. Это необходимо для 64-битных расширений. Windows имеет встроенный монтаж для ISOs, таких как Pismo.
Шаг 4:вам нужно установить файл ISO с пакетом аудита Pismo File Mount. Скачать Писмо от здесь
Шаг 5: щелкните правой кнопкой мыши загруженный файл ISO и выберите mount with Pismo. После этого установите Setup\SDKSetup.exe вместо установки.исполняемый.
шаг 6a: создайте vcvars64.летучая мышь файл в C:\Program файлы (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64, изменив каталог на C:\Program файлы (x86)\Microsoft Visual Studio version\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.
на
pycharm -> file -> setting -> project interpreterнажать на кнопку +
искать
"pycrypto"и установить пакетПримечание: если у вас нет" Microsoft Visual C++ Compiler for Python 2.7 " установлен, то он будет запрашивать установку, после завершения установки попробуйте выполнить описанные выше шаги, он должен работать нормально.

Comments