繁体   English   中英

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

[英]How do I run python program on Rails with Heroku?

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

  1. 在Heroku上运行Rails
  2. 在Rails中通过rake任务运行python程序(尤其是通过boto访问AWS s3的python以获取一些内容。)

当前情况如下:

  1. 案例1:将rails部署到heroku而不作任何更改。 部署可能会成功,并且通过Web浏览器运行Rails应用程序没有问题。 但是Rails服务器显示错误日志(通过heroku log --tail)

错误显示“没有名为boto的模块”

  1. 情况2:将Rails部署到根目录下名为herman.txt的heroku文件中。 Heroku未将其检测为Ruby Rails应用程序,因此Rails服务器未运行。 rails服务器将错误日志(通过heroku log --tail)显示为heroku [router]:at =错误代码= H14 desc =“没有正在运行的Web进程”

  2. 情况3:首先与情况1一样部署Rails。然后,在Heroku设置的Buildpacks上添加Python,然后添加requirements.txt,最后再次部署。 然后部署。 但是Rails服务器显示的错误日志(通过heroku log --tail)与Case3相同。

如果我可以像pip一样运行命令,这将很容易,但不可能。 有什么办法解决以上问题吗?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM