我试图使用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()
但这也不起作用。我怎么解决这个问题?我是初学者。
答案 0 :(得分:1)
您需要编写完整命令以在Procfile中执行
worker: python zegal.py
只编写python脚本的文件名不起作用。您可以在Heroku docs https://devcenter.heroku.com/articles/deploying-python
中查看示例