macos - para - uninstall python mac
Problemas para instalar m2crypto con pip en OS X/macOS (6)
pip install m2crypto
Genera el siguiente resultado:
building ''M2Crypto.__m2crypto'' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG/_m2crypto.i:30: Error: Unable to find ''openssl/opensslv.h''
SWIG/_m2crypto.i:33: Error: Unable to find ''openssl/safestack.h''
SWIG/_evp.i:12: Error: Unable to find ''openssl/opensslconf.h''
SWIG/_ec.i:7: Error: Unable to find ''openssl/opensslconf.h''
error: command ''swig'' failed with exit status 1
He corrido:
brew install swig
Esto solucionó mi problema (Python 2.7):
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
Gracias a las banderas de env de therealmarv logré que esto funcionara con la versión macports de openssl / swig, esto es lo que hice:
sudo port install openssl
sudo port install swig
sudo port install swig-python
luego use therealmarv lines pero reemplace "$ (brew --prefix openssl)" con el dir de macports que debería ser "/ opt / local"
sudo env LDFLAGS="-L/opt/local/lib" /
CFLAGS="-I/opt/local/include" /
SWIG_FEATURES="-cpperraswarn -includeall -I/opt/local/include" /
pip install M2Crypto
Obtuve el mismo problema en Ubuntu 18.04 LTS, mientras trataba de ejecutar
pip install M2Crypto==0.24.0
Hizo lo siguiente para deshacerse de él:
sudo apt-get install swig
sudo apt-get install libssl1.0-dev
Quería una forma más agradable sin instalar manualmente y usar solo Homebrew (que tampoco enlaza a openssl por defecto). También el uso de pip
era un requisito. Esto parece funcionar con el más nuevo m2crypto 0.22.5. También lo probé una vez con m2crypto 0.22.3 y parece que también funciona. La versión de OpenSSL aquí es 1.0.2d:
brew install openssl
brew install swig
Finalmente instale m2crypto en macOS en su Bash . Es un comando largo, pero cambia las variables de entorno SWIG y clang solo durante la pip install
para que m2crypto obtenga todos los requisitos de OpenSSL:
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
por cierto. el último comando también funciona si usa, por ejemplo, un requirements.txt.
Actualizar:
Adicional también el comando para usuarios de shell de peces ...
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
Simplemente sufrí mucho para que esto funcione en El Capitán. Esto es lo que tuve que hacer:
Instala OpenSSL (tienes que usar una versión anterior, de lo contrario, m2crypto no compilará)
curl -O https://www.openssl.org/source/openssl-0.9.8zg.tar.gz
tar -xvzf openssl-0.9.8zg.tar.gz
cd openssl-0.9.8zg
./Configure --prefix=/usr/local darwin64-x86_64-cc
make && make test
sudo make install
Instalar m2crypto
git clone https://github.com/martinpaljak/M2Crypto.git
cd M2Crypto
python setup.py build build_ext --openssl=/usr/local
sudo python setup.py install build_ext --openssl=/usr/local
AFAIK está instalado ... Aún así tengo que hacer algunas pruebas.
sudo apt-get install python-m2crypto