" bash:* .py:命令未找到"当我跑步" heroku跑步工人"

时间:2017-03-05 00:44:27

标签: python heroku tweepy

我试图使用python,tweepy和heroku制作一个Twitter机器人, 这是我的python脚本。

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跑步工人"时它不起作用。 它说" bash:zegal.py:命令未找到"即使我有 zegal.py,zegal.txt,procfile,requirements.txt都在同一个文件夹中。

我写了#34; worker:zegal.py"在proc文件中 和" tweepy == 3.5.0"在requirements.txt文件中。

我有一个heroku应用程序,因为我的文本文件有韩语句子, 我想我必须使用codecs.open和utf-8。

我搜索了几天来解决这个问题,但这些解决方案都没有帮助。 我将工作目录添加到环境变量的路径中,并且 我试过"导入os.path"例如,

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

但这也不起作用。我怎么解决这个问题?我是初学者。

1 个答案:

答案 0 :(得分:1)

您需要编写完整命令以在Procfile中执行

worker: python zegal.py

只编写python脚本的文件名不起作用。您可以在Heroku docs https://devcenter.heroku.com/articles/deploying-python

中查看示例