如何使用Heroku在Rails上运行python程序?

时间:2017-01-10 12:10:48

标签: python ruby-on-rails ruby heroku

Rails在Cloud9上运行没有任何问题。 我想做的是如下:

  1. 在Heroku上运行Rails
  2. 通过Rails中的rake任务运行python程序(特别是python,通过boto访问AWS s3获取一些。)
  3. 现状如下:

    1. 案例1:将部署的rails部署到heroku而不做任何更改。 部署可能是成功的,通过Web浏览器运行rails app没有问题。但rails服务器显示错误日志(通过heroku log --tail)
    2. 错误显示“没有名为boto的模块”

      1. 案例2:在root上部署了名为requirements.txt的heroku文件的rails。 Heroku没有将它检测为Ruby Rails应用程序,因此rails服务器没有运行。 rails server显示错误日志(由heroku log --tail)为 heroku [路由器]:at =错误代码= H14 desc =“没有正在运行的网络进程”

      2. 案例3:首先部署rails,与案例1相同。然后,​​在Heroku设置的Buildpacks上添加Python,然后添加requirements.txt,最后再次部署。然后它被部署了。但rails服务器显示错误日志(通过heroku log --tail)与Case3相同。

      3. 如果我能像pip一样运行命令,那将很容易,但这是不可能的。 有没有想法解决上述问题?

1 个答案:

答案 0 :(得分:0)

不要尝试在Heroku上安装自定义boto,只需将自定义boto文件夹放在项目的目录中(与项目的应用程序处于同一级别)。此后,您可以使用import语句导入boto文件夹。您可以阅读有关导入模块here

的信息

尽管如此,理想的方法是使用适用于AWS的Rails SDK,而不是使用适用于AWS的Python SDK,然后尝试将其与Rails一起使用。 Boto提供的所有功能也可以通过SDK for Ruby获得。

检查 http://docs.aws.amazon.com/sdk-for-ruby/v2/developer-guide/