2017-01-10 48 views
0

Rails在Cloud9上运行没有任何问题。 我想要做的是:在Heroku如何使用Heroku在Rails上运行python程序?

  1. 运行Rails
  2. 在Rails的耙子任务
  3. 运行Python程序(由博托访问AWS S3尤其是蟒蛇得到一些。)

当前情况如下:

  1. 案例1:部署轨道到heroku没有任何变化。 部署可能会成功,通过Web浏览器运行rails应用程序没有问题。但导轨服务器显示错误日志(由Heroku的日志 - 尾)

错误显示

  • 情况2 “否命名博托模块”:部署轨到root用户名为requirements.txt的heroku文件。 Heroku没有将其检测为Ruby Rails应用程序,因此rails服务器未运行。 导轨服务器显示错误日志(由Heroku的日志 - 尾)作为 的Heroku [路由器]:在=错误代码= H14 DESC =

  • 情况3“运行无网法”:部署导轨首先作为相同的情况下1.然后,在Heroku设置上的Buildpacks上添加Python,然后添加requirements.txt,最后再次部署。然后它被部署。但rails服务器显示错误日志(通过heroku日志 - 尾巴)与Case3相同。

  • 如果我可以像pip一样运行命令,它会很容易,但这是不可能的。 有没有解决上述的任何想法?

    +0

    部署Rails应用程序,并调用执行exec象exec( “蟒蛇script.py PARAMS”) –

    +0

    即使使用你的想法,这是相同的Python脚本。如果你的想法,使用boto是不可能的,因为没有模块。 –

    +0

    使用__import__函数获取脚本中的模块https://docs.python.org/3/library/functions.html#__import__ –

    回答

    0

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

    虽然,理想的方式是使用Rails SDK for AWS,而不是使用AWS SDK for AWS,然后尝试将其与Rails结合使用。 Boto提供的所有功能也可用于Ruby的SDK。

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

    +0

    我不打算在Heroku上安装我自定义的boto。 我只是想使用普通的博托。 您可以尝试使用requirements.txt将任何rails应用程序部署到Heroku中以安装模块。 安装会成功,但rails应用程序不会运行。 –

    +0

    我的意思是,而不是安装boto,下载它并使其成为你回购的一部分 –

    相关问题