Heroku:在同一实例上运行Rails应用和Python脚本
我在我的Rails应用的/app/bin
目录里有一个Python脚本,这个脚本里有一个requirements.txt
文件,里面列出了它需要的所有依赖。
我想让这个脚本在和我的Rails应用同一个Heroku实例上运行(我的Rails应用偶尔会调用这个Python脚本)。
到目前为止,我尝试过以下方法:
- 把
requirements.txt
文件放在根目录/
里。结果没有安装任何Python依赖。 - 尝试运行
heroku run bash
,然后执行pip install -r requirements.txt
。结果收到提示pip command not found
。 - 尝试通过bash界面安装pip,使用
sudo python get-pip.py
,这个命令是在curl
下载脚本后执行的,按照pip安装网站的建议来做的。结果没成功——这也不奇怪,因为他们不支持在这个实例上使用sudo
命令。
我知道Heroku应该是开箱即用支持pip
的,但一旦检测到是Ruby
应用,它似乎对requirements.txt
文件就没什么反应。
2 个回答
-1
把 requirements.txt 文件放在项目文件夹里。在我的例子中,项目的名字是 stock09,所以 requirements.txt 文件就在 stock09 旁边。
输入 heroku login 来登录 Heroku。
输入 heroku buildpacks:set heroku/ruby 来设置 Ruby 的构建包。
输入 heroku buildpacks:set heroku/python 来设置 Python 的构建包。
输入 heroku buildpacks 来查看当前的构建包。
输入 git add . 来把所有更改的文件添加到 Git。
输入 git commit -m " " 来提交这些更改,双引号里可以写一些描述。
输入 git push heroku master 来把代码推送到 Heroku。
现在可以正常工作了。
3
你可以使用 Heroku Buildpack Multi,这样就能在同一个实例上同时运行 Python 和 Ruby 的应用程序,前提是使用它们各自的构建包。