2016-04-06 1 views
0

私はHeroku上にRailsアプリケーションをデプロイしました。また、RailsのbinフォルダにPythonスクリプトがあります。私は今、Herokuスケジューラを使って10分ごとにPythonスクリプトを実行しています。私はまずそれをテストしたい。だから実行:Railsアプリケーション内のHerokuスケジューラーのPythonスクリプトでsendgridという名前のモジュールがありません

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を問題なく使用できます。

誰もがこれを手伝ってくれますか?ありがとう!

+0

virtualenvを使用していますか?もしそうなら、sendgridがそのvirtualenvにインストールされていることを確認しましたか?または、あなたはpythonスクリプトを実行しようとしているときにvirtualenvを使用していますか? – idjaw

+0

私はこのRailsアプリケーションのウェブサーバーとしてpumaを使用しました。私はvirtualenvについて知らないので、私はそれを使用していないと信じています。 – user1050165

+0

あなたのサーバーで、sendgridが実際に存在することを検証しましたか? – idjaw

答えて

0

私はHerokuのテクニカルサポートに連絡しました。彼らは私がrubyとpython buildpackの両方をインストールし、sendgridをアプリケーションルートディレクトリのrequirements.txtに入れなければならないと教えてくれました。

https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app

問題は解決しました。

+0

あなたはこの質問で6時間の沈黙の後でより速くなりました...;) –

+0

うん。私はHerokuテクニカルサポートに連絡することに忙しかったです。 – user1050165

1

コンテナを作るときにPython's sendgrid dependencyをインストールするのを忘れてしまったようです。 Python依存関係をインストールする方法については、declare Python app dependenciesを参照してください。 RubyとPythonの両方を実行しているので、両方のbuildpackをインストールして、両方の依存関係がロードされていることを確認する必要があります。

関連する問題