Как установить PyCrypto на Windows?
Я прочитал все остальные источники google и так далее, ничего не работает.
Python 2.7.3 32bit установлен на Windows 7 64bit. Загрузка, извлечение, а затем попытка установить PyCrypto приводит к "Unable to find vcvarsall.bat".
Поэтому я устанавливаю MinGW и прикрепляю его в строке install в качестве компилятора по выбору. Но тогда я получаю ошибку "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 for " не удалось найти 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. Вам нужно будет связаться с та же ЭЛТ (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\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должен работать без ошибок после этого.
Можно построить PyCrypto с помощью инструментария Windows 7 SDK. Существует две версии 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.
Надеюсь, это поможет.
Для Окон 7:
Чтобы установить Pycrypto в Windows,
Попробуйте сделать это в командной строке,
Set path=C:\Python27\Scripts (т. е. путь, в котором находится easy_install)
Затем выполните следующее,
Easy_install pycrypto
Для Ubuntu:
Попробуйте это,
Скачать Pycrypto из "https://pypi.python.org/pypi/pycrypto "
Затем измените текущий путь на загруженный путь, используя терминал и пользователя. должен быть корень:
Например: root@xyz-виртуальная машина:~ / pycrypto-2.6.1#
Затем выполните следующие действия с помощью терминала:
Python setup.py установить
Это сработало для меня. Надежда работает для всех..
Поэтому я устанавливаю MinGW и закрепляю его в строке install в качестве компилятора предпочтительный. Но потом я получаю ошибку "RuntimeError: chmod error".
Эта ошибка
"RuntimeError: chmod error"возникает из-за того, что скрипт установки не нашел командуchmod.Как же мне это обойти?
Решение
Вам нужно толькодобавить двоичные файлы MSYS в путь и повторно запустить сценарий установки .
(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Необязательно: перед повторным запуском сценария может потребоваться очистка:
`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`
Перейти к "компилятор Microsoft Visual C++ для Python 2.7" и продолжайте, основываясь на" системных требованиях " (это то, что я сделал, чтобы объединить следующие шаги).
Install 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++ 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
Вероятно, это не оптимальное решение, но вы можете скачать и установить бесплатный пакет Visual C++ Express от MS. это даст вам компилятор C++, необходимый для компиляции кода PyCrypto.
Поэтому я устанавливаю MinGW и прикрепляю его в строке install в качестве компилятора по выбору. Но потом я получаю ошибку "RuntimeError: chmod error".
Вам нужно установить пакет msys под MinGW
И добавьте следующие записи в переменную PATH env.
C:\MinGW\binC:\MinGW\msys\1.0\bin[здесь вы найдете исполняемый файл chmod]Затем выполните команду из обычной командной строки windows.
Мой ответ, возможно, не связан с проблемой упоминания здесь, но у меня была такая же проблема с Python 3.4 where Crypto.Шифр не был допустимым импортом. Поэтому я попытался установить PyCrypto и столкнулся с проблемами.
После некоторых исследований я нашел, что с 3.4 вы должны использовать pycryptodome.
Я установил pycryptodome, используя pycharm, и я был хорош.
Из Крипто.Шифр импорт AES
Из-за странных юридических причин двоичные файлы не публикуются обычным способом. Пустотное пространство обычно является лучшим вторым источником. Но с некоторых пор, сопровождающий voidspace не обновлялся. Используйте 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. Скачать Pismo из здесь
Шаг 5: щелкните правой кнопкой мыши загруженный ISO-файл и выберите mount with Pismo. После этого установите Setup\SDKSetup.exe вместо установки.exe.Шаг 6а: создать 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, в командной строке введите:
Шаг 7: в командной строке установите PyCrypto, введя:vcvarsall x86Нажмитездесь для получения дополнительных параметров.C:\Python3X>pip install -U your_wh_file
У меня был Pycharm для python.
Перейти к
pycharm -> file -> setting -> project interpreterНажмите на кнопку +
Найдите
"pycrypto"и установите пакетПримечание: Если у вас не установлен" Microsoft Visual C++ Compiler for Python 2.7", то он будет запрашивать установку, после завершения установки попробуйте выполнить описанные выше шаги.
