2012-04-26 18 views
6

Heroku'da M2Crypto yüklemeye çalışıyorum. Bu, yüklenmekte olan SWIG'ye dayanır.Heroku buildpacks - Python paketleri tarafından kullanılan yürütülebilir dosyaları yükleme

custom compiled swig executable ve custom buildpack'u oluşturdum.

O halde git push kodum Heroku'ya kadar, özel buildpack SWIG'yi yükler ve sonra M2Crypto'yu yüklemeye çalışır, ancak swig'u bulamadığı için başarısız olur.

# 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/ 

bu gerçekleşir pip install herhangi önce komutlar çalıştırılır:

Bu

buildpack özelleştirme olduğunu.

I heroku run bash ve sonra source .heroku/venv/bin/activate && pip install M2Crypto el ile çalıştırırsanız, sorun yüklenmez ve Uygulamam, bu örneğin yaşam süresi için bash komut isteminin içinde çalışır.

İlk pip install -r requirements ilk çalıştırıldığında PATH ayarında bir sorun olduğunu düşünüyorum ... herhangi bir fikir var mı?

+0

Teşekkür yaşadığı hangi! Ben bunu göndermek için! Büyük soru, ben de M2Crypto yüklemeye çalışıyorum. Daha da iyisi: binpack'inizi yarattığınız ve paylaştığınız için teşekkür ederiz! Bunun için cevabınızı alabilmeniz için aşağıda cevabınızı vermelisiniz. – culix

+0

Parlak - Yukarıdakiler için teşekkürler! – jvc26

+0

Bu harika çalışıyor. Maalesef benim için çalışmayı bıraktı. Bu yüzden resmi heroku-buildpack-python'u klonladım ve SWIG için neede hatlarını ekledim: https://github.com/CulturePlex/heroku-buildpack-python –

cevap

4

Cevap ise ..

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

$ BUILD_DIR nerede buildpack çalıştırıldığında şeyler inşa edilmiştir - değil/app/(o zaman uygulama çalışır

İlgili konular