Сборочные пакеты Heroku -установка исполняемых файлов, используемых пакетами Python

Я пытаюсь установить M2Crypto на Heroku. Это зависит от установленного SWIG.

Я создал скомпилированный swigисполняемый файл и пользовательский пакет сборки .

Затем я git pushсвой код до Heroku, пользовательский пакет сборки устанавливает SWIG, затем пытается установить M2Crypto, но терпит неудачу, потому что не может найти swig.

Это настройка билдпака.:

# Install SWIG
if [ ! -d $CACHE_DIR/swig ]; then
  cd $BUILD_DIR
  echo "-----> Fetching and installing SWIG 2"
  curl -O https://s3.amazonaws.com/guybowden/swig.tar.gz >/dev/null 2>&1
  echo "-----> Installing..."
  tar xzvf swig.tar.gz >/dev/null 2>&1
  mv swig $CACHE_DIR/swig
  rm swig.tar.gz
  echo "SWIG installed" | indent
fi

mkdir -p.paybox
cp -R $CACHE_DIR/swig.paybox

echo "updating path..." | indent
PATH=$PATH:/app/.paybox/swig/bin/
export PATH
echo $PATH | indent
echo "setting SWIG_LIB environment var"
export SWIG_LIB=/app/.paybox/swig/share/swig/2.0.5/

Это происходит перед запуском любой pip installкоманды.

Если я heroku run bash, а затем вручную запущу source.heroku/venv/bin/activate && pip install M2Crypto, он установится без проблем, и мое приложение будет работать внутри командной строки bash в течение всего срока службы этого экземпляра.

Я думаю, что есть проблема с настройкой PATH, когда запускается начальный pip install -r requirements... есть идеи?

7
задан Jawa 5 May 2015 в 13:41
поделиться