gpt4 book ai didi

Heroku buildpacks - 安装 Python 包使用的可执行文件

转载 作者:行者123 更新时间:2023-12-03 21:35:41 25 4
gpt4 key购买 nike

我正在尝试在 Heroku 上安装 M2Crypto。这依赖于安装的 SWIG。

我创建了一个 custom compiled swig executable和一个 custom buildpack .

然后我git push我的代码到 Heroku,自定义 buildpack 安装 SWIG 然后尝试安装 M2Crypto 但失败,因为它找不到 swig .

这是 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/

这发生在任何 pip install 之前命令正在运行。

如果我 heroku run bash然后手动运行 source .heroku/venv/bin/activate && pip install M2Crypto它安装没有问题,我的应用程序在该实例的整个生命周期内都在 bash 提示符下工作。

我认为初始 pip install -r requirements 时 PATH 设置有问题运行...有什么想法吗?

最佳答案

答案是..

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 是执行 buildpack 时构建内容的地方 - 而不是/app/(这是应用程序运行时的位置!

关于Heroku buildpacks - 安装 Python 包使用的可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10334920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com