Как установить M2crypto на Windows
После установки OpenSSL загрузите предварительно собранный исполняемый файл Swig и убедитесь, что библиотеки openssl расположены по умолчанию c:\pkg
, pip install m2crypto
результаты в:
...
C:\Program Files (x86)\gfortran\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Pyth
on27\include -IC:\Python27\PC -Ic:\pkg\include -Ic:\users\evbo\appdata\local\tem
p\pip_build_evbo\m2crypto\SWIG -c SWIG/_m2crypto_wrap.c -o build\temp.win32-2.7\
Release\swig\_m2crypto_wrap.o -DTHREADING
gcc: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1
Похоже, что бинарное установочное решение для M2crypto больше не доступно, и я не вижу ошибок, которые я сделал, основываясь на установочном документе M2crypto.
Как я могу решить эту проблему установки? Есть ли зависимость от старых версий GCC?
6 ответов
Мне повезло - есть неофициальный установщик двоичных файлов вместо http://chandlerproject.org/bin/view/Projects/MeTooCrypto:
Недавно я написал следующее в ответ на проблему GitHub для модуля Python, который требует m2crypto
.
Некоторые сборки для m2crypto
для определенных версий Python доступны в их CI: https://ci.appveyor.com/project/m2crypto/m2crypto/history. Попробуйте выбрать версию, выберите задание, соответствующее вашей версии Python, затем перейдите на вкладку "Артефакты" и загрузите установщик. Чтобы установить.whl
см. шаг 11 моего руководства по сборке ниже.
Я также приложил m2crypto
модуль, который я построил для Windows 10 x64, Python 3.8.1. Он должен работать в любой версии Windows на базе x64 с любой версией Python 3.8.X. M2Crypto-0.35.2.win-amd64-py3.8.zip
Однако, если вы не можете найти сборку, которая соответствует вашей версии Python, а также типу и архитектуре системы, вам может потребоваться вручную собрать m2crypto
. Я адаптировал шаги сборки из их сценариев сборки CI: https://gitlab.com/m2crypto/m2crypto/blob/master/appveyor.yml. Я построил модуль, выполнив следующие действия:
- Установите последнюю
Build Tools for Visual Studio 2019
. См. https://visualstudio.microsoft.com/downloads/ разделе "Все загрузки" -> "Инструменты для Visual Studio 2019". Эта прямая ссылка была активна на момент написания этой статьи: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 - В установщике выберите "C++ Build Tools", установите и при необходимости перезагрузитесь.
- Установите последнюю полную (не
Light
)OpenSSL
для вашей архитектуры (Win64
/Win32
). Текущая версия на момент написания этой статьи1.1.1d
. Обратите внимание на каталог, в который вы устанавливаетеOpenSSL
. https://slproweb.com/products/Win32OpenSSL.html - В
PowerShell
, установитеChocolatey
менеджер пакетов. Я использовал эту команду с их сайта:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- Установить
swig
с участиемChocolatey
(вPowerShell
).choco install -r -y swig
- Установите
pywin32
зависимость. Бегатьpip install pywin32
. Если у вас есть проблемы, попробуйте сначала запуститьpip install wheel
. Получитьpip
чтобы настроить таргетинг на конкретную установку Python, попробуйте запустить ее с помощьюpy -[version] -m pip install [module]
. Примечание: вам может понадобиться использовать повышенный (администратор)PowerShell
для установки модулей Python. - Получите самое последнее
m2crypto
код. Если у вас естьgit
установлен, запуститьgit clone https://gitlab.com/m2crypto/m2crypto
. В противном случае загрузите и извлеките код из GitLab: https://gitlab.com/m2crypto/m2crypto/-/archive/master/m2crypto-master.zip - Использовать
cd
перейти в каталогm2crypto
был клонирован / извлечен в. - Предполагая
python
запускает желаемую версию интерпретатора Python, запуститеpython setup.py build --openssl="C:\Program Files\OpenSSL-Win64" --bundledlls
, заменяяC:\Program Files\OpenSSL-Win64
с каталогом, в который вы установилиOpenSSL
. (В некоторых системах вы можете использоватьpy
средство запуска, чтобы указать версию Python для использования, запуститеpy -h
для дополнительной информации.) - Сгенерируйте устанавливаемые файлы.
python.exe setup.py bdist_wheel bdist_wininst bdist_msi
. - Установите модуль.
cd
вdist
каталог и запуститьpip install M2Crypto-0.35.2-cp38-cp38-win_amd64.whl
, заменяя имя файла сгенерированным.whl
файл. Если у вас есть проблемы, попробуйте сначала запуститьpip install wheel
. Получитьpip
чтобы настроить таргетинг на конкретную установку Python, попробуйте запустить ее с помощьюpy -[version] -m pip install [module]
. В качестве альтернативы вы можете запустить сгенерированный.exe
или.msi
установщик. Примечание: вам может понадобиться использовать повышенный (администратор)PowerShell
для установки модулей Python.
Проект https://gitlab.com/m2crypto/m2crypto предоставляет сборки Windows для M2Crypto.
Я установил M2Crypto-0.30.1-cp27-cp27m-win_amd64.whl
колесо от https://ci.appveyor.com/project/dwoz/m2crypto → https://ci.appveyor.com/project/dwoz/m2crypto/build/job/y7yri08k45mn5nlj/artifacts и оно работало безупречно.
Вот как это сделать с pip
для 64-битного Python 2.7:
pip install https://ci.appveyor.com/api/buildjobs/y7yri08k45mn5nlj/artifacts/dist/M2Crypto-0.30.1-cp27-cp27m-win_amd64.whl
Сейчас конец 2019 года, а установка M2Crypto все еще затруднительна! После тонны поисков в Google, наконец, дошли до следующих шагов:
pip install wheel
pip install M2CryptoWin32
Использование свежей Python 2.7.17 32bit установить на Windows, 10. Вы могли бы нужно установить http://aka.ms/vcpython27 первым.
Я полагаю, что вместо этого следует использовать M2CryptoWin64, если вы установили 64-битный Python.
в Windows (версии Python 3.7 | 3.8 | 3.9 | 3.10) вы можете скачать файл whl отсюда и установить его с помощью этой команды:
python install M2Crypto-0.38.0-cp310-cp310-win_amd64.whl
заменить текущее имя файла whl .
1~11: /questions/47077440/kak-ustanovit-m2crypto-na-windows/55131933#55131933
12: установить M2Crypto.whl и adb одной командой
pip установить M2Crypto-0.38.0-cp310-cp310-win_amd64.whl adb