Ошибка установки pip m2crypto
$sudo pip3 install m2crypto
Collecting m2crypto
Using cached M2Crypto-0.26.0.tar.gz
Requirement already satisfied: typing in /usr/local/lib/python3.5/dist-packages (from m2crypto)
Installing collected packages: m2crypto
Running setup.py install for m2crypto ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
copying M2Crypto/BIO.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/DH.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Rand.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/callback.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/EC.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/X509.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2crypto.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Err.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/threading.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/BN.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/RC4.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/util.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Engine.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/six.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/EVP.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/DSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
creating build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
creating build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
running build_ext
building 'M2Crypto._m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__x86_64__ -I/usr/include/python3.5m -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir /tmp/pip-build-ejd_4lk_/m2crypto/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/x86_64-linux-gnu/sys/cdefs.h:159: Warning 305: Bad constant value (ignored).
/usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
/usr/include/stdint.h:274: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rand.i:23: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:184: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:237: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:238: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:335: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory.
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/SWIG
....
At top level:
SWIG/_m2crypto_wrap.c:3993:13: warning: ‘lock_count’ defined but not used [-Wunused-variable]
static long lock_count[CRYPTO_NUM_LOCKS];
^~~~~~~~~~
SWIG/_m2crypto_wrap.c:3992:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable]
static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
^~~~~~~
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
**`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ejd_4lk_/m2crypto/`**
не удалось установить, когда я установил tierd:
ошибка: команда 'x86_64-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1
---------------------------------------- **`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/m2crypto/setup.py';f=getattr(tokenize,
'open', open) (файл);code=f.read().replace('\r\n', '\n');f.close();exec(скомпилировать (код, файл, 'exec')))" install --record /tmp/pip-ecxgdei0-record/install-record.txt --single-version-внешне управляемый --compile" завершился ошибкой с кодом ошибки 1 в / tmp / pip-build-ejd_4lk_ / m2crypto / `**
> Может кто-нибудь помочь мне, пожалуйста, чтобы решить эту проблему?, спасибо!
7 ответов
M2Crypto (начиная с версии 0.26) официально не поддерживает Python 3.Официально поддерживаемые версии Python:
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
У вас возникла такая же проблема, как описано в https://gitlab.com/m2crypto/m2crypto/issues/114
Вы можете узнать, какие популярные библиотеки совместимы с Python 3, по адресу http://py3readiness.org/
Мы можем использовать m2crypto на Python 3 со следующими глобальными пакетами libssl-dev swig python3-dev gcc
так
sudo apt-get install libssl-dev swig python3-dev gcc
должно позволить установить m2crypto через PIP для Python 3 (протестировано на vwesion 0.32)
Шаги в MAC для python3.X:
Первая установка.
brew install openssl
Второй Swig
brew install swig
Изменить SWIG_FEATURES
env LDFLAGS="-L$(brew --prefix openssl)/lib" \
CFLAGS="-I$(brew --prefix openssl)/include" \
SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \
pip install m2crypto
У этого была эта ошибка на python 2.7
sudo apt-get install python-dev
Это решает проблему для меня.
После этой установки
M2Crypto
pip install m2crypto
На Mac сделайте следующее
$> brew install openssl
$> brew install swig
Теперь добавьте эти строки в свой~/.zshrc
файл в Mac OS X
# this is very slow, see https://github.com/Homebrew/brew/issues/3327
# OPENSSL=$(brew --prefix openssl)
# this is much faster
# OPENSSL=$(dirname $(dirname $(which openssl)))
# hardcoding is fastest
OPENSSL=/usr/local/opt/openssl@1.1
export PATH="$OPENSSL/bin:$PATH"
export LDFLAGS="-L$OPENSSL/lib"
export CPPFLAGS="-I$OPENSSL/include"
export PKG_CONFIG_PATH="$OPENSSL/lib/pkgconfig"
export SWIG_FEATURES="-cpperraswarn -includeall -I$OPENSSL/include"
Затем в новом терминале выполните
$> pip install m2crypto
видеть
Услышать мы идем, это 100% работа
удачная установка python2.7
python2.7 -m pip установить M2Crypto