J'essaye d'installer M2Crypto sur Heroku. Cela dépend de l'installation de SWIG. J'ai créé custom compiled swig
executable et custom buildpack.Heroku buildpacks - installation des exécutables utilisés par les paquets Python
Je puis git push
mon code jusqu'à Heroku, le buildpack personnalisé installe SWIG puis essaie d'installer M2Crypto mais échoue car il ne peut pas trouver swig
.
C'est la personnalisation de buildpack:
# 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/
Cela se produit avant toute pip install
commandes sont exécutées.
Si je heroku run bash
puis exécute manuellement source .heroku/venv/bin/activate && pip install M2Crypto
il installe pas de problème et mon application fonctionne à l'invite bash pour la durée de vie de cette instance.
Je pense qu'il y a un problème avec le réglage PATH lorsque le pip install -r requirements
initial fonctionne ... des idées?
les pistes app Thank you! Bonne question, car j'essaie aussi d'installer M2Crypto, encore mieux: merci de créer et de partager votre binpack! Vous devriez poster votre réponse ci-dessous pour que vous en ayez le crédit. – culix
Brillant - merci pour ce qui précède! – jvc26
Cela a fonctionné très bien. Malheureusement, cela a cessé de fonctionner pour moi. J'ai donc cloné l'heroku-buildpack-python officiel et ajouté les lignes de neede pour SWIG: https://github.com/CulturePlex/heroku-buildpack-python –