通过额外的pip安装将Python应用程序部署到Heroku

时间:2019-03-21 15:23:36

标签: python heroku pip tornado

我正在尝试为我的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命令中安装了它)。

1 个答案:

答案 0 :(得分:0)

Heroku Python buildpacka 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

了解详情: