【发布时间】:2016-04-06 23:06:23
【问题描述】:
我在 Heroku 上部署了一个 Rails 应用程序。我在 Rails bin 文件夹中也有一个 Python 脚本。我现在使用 Heroku 调度程序每 10 分钟运行一次 Python 脚本。我想先测试一下。所以我跑了:
heroku run python bin/notify.py
在我的本地终端中。然后我收到以下错误消息:
Running python bin/notify.py on ...
Traceback (most recent call last):
File "bin/notify.py", line 6, in <module>
import sendgrid
ImportError: No module named sendgrid
但是,我已经在 Heroku 上安装了 sendgrid 插件。我也可以毫无问题地在我的 Rails 代码中使用 sendgrid。
谁能帮我解决这个问题?谢谢!
【问题讨论】:
-
你在使用 virtualenv 吗?如果是这样,您是否确认 sendgrid 已安装在该 virtualenv 中?或者您在尝试运行 python 脚本时正在使用 virtualenv?
-
我使用 puma 作为这个 Rails 应用程序的网络服务器。我不知道virtualenv,所以我相信我没有使用它。
-
在您的服务器上,您确认 sendgrid 确实存在?
-
我使用了免费的 Heroku 帐户。我使用命令“heroku create”和“git push heroku”从我的 Mac 部署了它。我使用“heroku addons:create sendgrid:starter”在 Heroku 中添加了 sendgrid 插件。在我的 Rails 应用程序中,有一个“确认”按钮,它将通过 sendgrid 发送一封确认电子邮件。我已经检查过它有效。 Python 脚本从 API 中提取一些后端数据,并检查数据库并在满足要求时发送电子邮件通知。
-
啊。这似乎非常特定于heroku。不幸的是,我没有使用那么多heroku。对我帮助不大,抱歉。 =/
标签: python ruby-on-rails heroku scheduler sendgrid