Python Web应用程序在本地计算机上工作,但在Heroku上不工作

Python Web应用程序在本地计算机上工作,但在Heroku上不工作,python,heroku,web.py,heroku-postgres,procfile,Python,Heroku,Web.py,Heroku Postgres,Procfile,我在本地机器上用Python制作了第一个web应用程序,它链接到postgres数据库。在我的本地机器上,web应用程序工作正常,因此我的下一步是将该应用程序连接到internet上 这就是我开始使用Heroku的地方,在做了一些教程之后,我将我的web应用程序推送到Heroku上,并推送数据库的副本。我已经修改了我的代码,现在它指向Heroku上的数据库,而不是我的本地机器 然而,在我的procfile中尝试了许多不同的变体之后,我的网站上仍然出现了一个应用程序错误。已经运行:heroku l

我在本地机器上用Python制作了第一个web应用程序,它链接到postgres数据库。在我的本地机器上,web应用程序工作正常,因此我的下一步是将该应用程序连接到internet上

这就是我开始使用Heroku的地方,在做了一些教程之后,我将我的web应用程序推送到Heroku上,并推送数据库的副本。我已经修改了我的代码,现在它指向Heroku上的数据库,而不是我的本地机器

然而,在我的procfile中尝试了许多不同的变体之后,我的网站上仍然出现了一个应用程序错误。已经运行:heroku logs--tail,我得到以下错误日志

2016-03-06T07:24:19.684867+00:00 heroku[web.1]: Starting process with command `python bin/app.py /usr/local/bin:/usr/bin:/bin`

2016-03-06T07:24:22.761469+00:00 app[web.1]: ('test@gmail.com                                    ', '$1$Kp635oRe$xuPE1/iVdvJcAUzS5LIRF.                ', 36, 'test                                              ')

2016-03-06T07:24:23.391570+00:00 app[web.1]: (5, datetime.datetime(2015, 8, 28, 21, 0), datetime.datetime(2015, 8, 20, 8, 0), datetime.datetime(2015, 8, 25, 17, 0), 'To be decided                                     ', None, 'To be decided                                     ', None, 'Final                                             ')

2016-03-06T07:24:23.391582+00:00 app[web.1]: 2015-08-28 21:00:00

2016-03-06T07:24:23.391681+00:00 app[web.1]: 5

2016-03-06T07:24:24.047123+00:00 app[web.1]: (5, datetime.datetime(2015, 8, 28, 21, 0), datetime.datetime(2015, 8, 20, 8, 0), datetime.datetime(2015, 8, 25, 17, 0), 'To be decided                                     ', None, 'To be decided                                     ', None, 'Final                                             ')

2016-03-06T07:24:24.047165+00:00 app[web.1]: 5

2016-03-06T07:24:24.047135+00:00 app[web.1]: 2015-08-28 21:00:00

2016-03-06T07:24:24.705463+00:00 app[web.1]: (5, datetime.datetime(2015, 8, 28, 21, 0), datetime.datetime(2015, 8, 20, 8, 0), datetime.datetime(2015, 8, 25, 17, 0), 'To be decided                                     ', None, 'To be decided                                     ', None, 'Final                                             ')

2016-03-06T07:24:24.705478+00:00 app[web.1]: 2015-08-28 21:00:00

2016-03-06T07:24:29.129053+00:00 app[web.1]:   File "bin/app.py", line 195, in <module>

2016-03-06T07:24:29.129044+00:00 app[web.1]: Traceback (most recent call last):

2016-03-06T07:24:29.129139+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/web/application.py", line 313, in run

2016-03-06T07:24:29.129112+00:00 app[web.1]:     app.run()

2016-03-06T07:24:29.129252+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/web/wsgi.py", line 54, in runwsgi

2016-03-06T07:24:29.129294+00:00 app[web.1]:     return httpserver.runsimple(func, validip(listget(sys.argv, 1, '')))

2016-03-06T07:24:29.129248+00:00 app[web.1]:     return wsgi.runwsgi(self.wsgifunc(*middleware))

2016-03-06T07:24:29.129344+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/web/net.py", line 76, in validip

2016-03-06T07:24:29.129375+00:00 app[web.1]:     port = int(port)

2016-03-06T07:24:29.129400+00:00 app[web.1]: ValueError: invalid literal for int() with base 10: '/usr/local/bin:/usr/bin:/bin'

2016-03-06T07:24:29.775276+00:00 heroku[web.1]: Process exited with status 1

2016-03-06T07:24:29.782331+00:00 heroku[web.1]: State changed from starting to crashed

2016-03-06T11:27:22.484435+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=limeuro2016.herokuapp.com request_id=0567035b-6419-4c45-abaa-aea7d0be7206 fwd="90.210.194.244" dyno= connect= service= status=503 bytes=

2016-03-06T11:27:22.976331+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=limeuro2016.herokuapp.com request_id=aa3d55d0-7015-4949-8b86-49f6c1dcc68d fwd="90.210.194.244" dyno= connect= service= status=503 bytes=

在这方面的任何帮助都将不胜感激,因为在过去的两周里,我自己一直在努力研究解决方案,并且遇到了困难!为什么它在我的本地机器上工作,而不是在Heroku上

根据错误消息,我猜环境变量
PORT
设置为
'/usr/local/bin:/usr/bin:/bin'

使用命令heroku run printenv列出您的环境变量


另外,我认为您的
procfile
应该以
web:python bin/app.py${PORT}
开始,而不是
PATH
,这可能是将
PORT
设置为路径的原因

哇。想到我在这上面花了那么多时间,我只需要将它从路径更改为端口,这让我很害怕,这正是修复它的原因。非常感谢。
web: python bin/app.py $PATH
port = int(os.environ.get('PORT', 8080))
app.run(host='0.0.0.0', port=port)