2015-02-12 2 views
1

Я пытаюсь установить питон пакет «M2Crypto» через requirements.txt и я получаю следующее сообщение об ошибке:установка M2Crypto терпит неудачу на Amazon Beanstalk

/usr/include/openssl/opensslconf.h:36: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.

error: command 'swig' failed with exit status 1

Я попытался проходящего

option_name: SWIG_FEATURES value: "-cpperraswarn -includeall -I/usr/include/openssl"

Но ошибка сохраняется. Есть идеи?

+0

Возможно, этот вопрос поможет вам http://stackoverflow.com/questions/7772965/m2crypto-doesnt-install-in-venv-or-swig-doesnt-define-x86-64-which-breaks – HavelTheGreat

+0

@Elizion Thanks , Я не уверен, как получить './fedora_setup.sh build' и' ./fedora_setup.sh install' работу над экземпляром Beanstalk. Если бы я мог знать, где абсолютный путь виртуального, возможно, я мог бы попробовать это. – amertkara

ответ

0

Я нашел решение, которое устанавливает M2Crypto на Beanstalk, но оно немного взломанно, и вы несете ответственность за то, чтобы он был хорош для производственной среды. Я отбросил M2Crypto из своего проекта, потому что эта проблема смешна, попробуйте pycrypto, если сможете.

Based on (я только добавил python setup.py test):

#!/bin/bash 
python -c "import M2Crypto" 2> /dev/null 
if [ "$?" == 1 ] 
then 
    cd /tmp/ 
    pip install -d . --use-mirrors M2Crypto==0.21.1 
    tar xvfz M2Crypto-0.21.1.tar.gz 
    cd M2Crypto-0.21.1 
    ./fedora_setup.sh build 
    ./fedora_setup.sh install 
    python setup.py test 
fi` 

В файле среды конфигурации

commands: 
    m2crypto: 
     command: scripts/m2crypto.sh 
     ignoreErrors: True 
     test: echo '! python -c "import M2Crypto"' | bash 

ignoreErrors не является хорошей идеей, но я просто использовал его, чтобы проверить, если пакет действительно получает установлен и похоже на это.

Опять же, это может показаться, что пакет установлен, но я не уверен, потому что удаление ignoreErrors вызывает сбой. Поэтому я не буду отмечать это как принятый ответ, но это было слишком много, чтобы быть комментарием.

0

Следующий конфигурационный файл (помещается в .ebextensions) работает для меня:

packages: 
    yum: 
     swig: [] 

container_commands: 
    01_m2crypto: 
     command: 'SWIG_FEATURES="-cpperraswarn -includeall -D`uname -m` -I/usr/include/openssl" pip install M2Crypto==0.21.1' 

Убедитесь, что вы не указать M2Crypto в вашем requirements.txt, хотя, Elastic Beanstalk будет пытаться установить все зависимости перед запуском контейнеров.

+0

У меня нет средств проверить его, но если кто-то еще одобрит, я могу принять ответ. – amertkara