【发布时间】:2017-01-10 12:10:48
【问题描述】:
Rails 在 Cloud9 上运行没有任何问题。 我想做的如下:
- 在 Heroku 上运行 Rails
- 在 Rails 中通过 rake 任务运行 python 程序(尤其是 python 用于通过 boto 访问 AWS s3 来获取一些。)
目前情况如下:
- 案例 1:将 rails 部署到 heroku 而不进行任何更改。 部署可能会成功,通过 Web 浏览器运行 rails 应用程序没有问题。但 Rails 服务器显示错误日志(通过 heroku log --tail )
错误显示“没有名为 boto 的模块”
案例 2:将 Rails 部署到根目录下名为 requirements.txt 的 Heroku 文件。 Heroku 没有将其检测为 Ruby Rails 应用程序,因此 rails 服务器没有运行。 rails 服务器显示错误日志(通过 heroku log --tail )为 heroku[router]: at=error code=H14 desc="No web processes running"
案例 3:首先部署 rails 与案例 1 相同。然后,在 Heroku 设置的 Buildpacks 上添加 Python,然后添加 requirements.txt,最后再次部署。然后它被部署。但 Rails 服务器显示错误日志(通过 heroku log --tail )与 Case3 相同。
如果我可以运行像 pip 这样的命令,那会很容易,但这是不可能的。 有没有办法解决以上问题?
【问题讨论】:
-
部署一个 Rails 应用程序并使用 exec 调用 Python 脚本,例如 exec("python script.py params")
-
即使使用你的想法,也是一样的。如果你的想法,因为没有模块,所以不可能使用 boto。
-
使用import函数获取脚本中的模块docs.python.org/3/library/functions.html#__import__
-
对不起,请理解后添加评论。
标签: python ruby-on-rails ruby heroku