2017-03-05 10 views
0

私はpython、tweepy、herokuを使ってtwitterボットを作ろうとしています、 と私のpythonスクリプトです。私は "heroku run worker"を実行すると "bash:* .py:command not found"

import tweepy, codecs, time 

CONSUMER_KEY = '***************' 
CONSUMER_SECRET = '*****************************' 
ACCESS_KEY = '******************************' 
ACCESS_SECRET = '****************************' 
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 
api = tweepy.API(auth) 

fileObj=codecs.open('zegal.txt','r','utf-8') 
f=fileObj.readlines() 
fileObj.close() 

for line in f: 
    api.update_status(line) 
    time.sleep(900) 

私は、「Pythonのzegal.py」、 を実行しますが、私は「Herokuの実行ワーカー」を実行すると、それは動作しない場合、これは動作します。 zegal.py、zegal.txt、procfile、requirements.txtが同じフォルダにありますが、 は "bash:zegal.py:command not found"と表示しています。

私は、 のprocfileに "worker:zegal.py"とrequirements.txtファイルの "tweepy == 3.5.0"と書いています。

私はherokuアプリを持っています。テキストファイルに韓国語の文章があるので、 私はcodecs.openとutf-8を使用しなければならないと思います。

この問題を解決するために数日間検索しましたが、これらの解決策はどれも役に立ちませんでした。 は、私は、例えば

scriptpath = os.path.dirname(__file__) 
filename = os.path.join(scriptpath, 'zegal.txt') 
fileObj=codecs.open(filename,'r','utf-8') 
f=fileObj.readlines() 
fileObj.close() 

「輸入はos.path」を試みたが、それはどちらも動作しない環境変数のパスに作業ディレクトリを追加し、 。これをどうすれば解決できますか?私は初心者です。

答えて

1

あなたはPythonスクリプトのファイル名だけが動作しません書くProcfile

worker: python zegal.py 

を実行するための完全なコマンドを記述する必要があります。あなたはHerokuのドキュメントの例を見ることができますhttps://devcenter.heroku.com/articles/deploying-python

+0

ああ、これは私が前に試したことです、そしてそれは働いた!私はちょうど "python"なしで実行する別の方法があると思った。もちろん私は間違っていたことを知っています。今あなたが言ったように完全なコマンドを書く。私はそれを感謝します。 – user7659923

関連する問題