我正在尝试为我的Python应用程序实现Deploy to Heroku功能: https://github.com/jet-admin/jet-bridge/tree/heroku
如果仅使用requirements.txt来安装依赖项就可以了,但是它需要我修改我的requirements.txt以包括一些我通常不需要的额外包(psycopg2,mysqlclient)。
是否可能不将所有需求都包含在requirements.txt中,而是通过一些额外的命令进行安装?我尝试添加将执行pip install命令的postdeploy脚本,但是在成功部署之后,我的应用程序说未安装psycopg2(我想是在postdeploy命令中安装了它)。
答案 0 :(得分:0)
Heroku Python buildpack有a hook where you can execute extra commands after the initial slug compilation。
要使用它,您可以添加一个bin/post_compile
文件,并在shell命令中放入用于安装其他软件包的文件。
您甚至可以使其依赖于环境变量,例如:
# assuming you have files mysql-requirements.txt and postgres-requirements.txt
if [ "$JET_BRIDGE_DB" == "mysql" ]; then
echo "Installing Python dependencies for MySQL support"
pip install -r mysql-requirements.txt
else
echo "Assuming Postgres database, installing Python dependencies"
pip install -r postgres-requirements.txt
fi
了解详情: