Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python webapp在Heroku上运行不正常?_Python_Heroku_Websocket_Socket.io - Fatal编程技术网

Python webapp在Heroku上运行不正常?

Python webapp在Heroku上运行不正常?,python,heroku,websocket,socket.io,Python,Heroku,Websocket,Socket.io,我试图部署在希罗库。当我在笔记本电脑上本地启动它时,它运行正常,但在Heroku上部署它以查看结果后,我遇到了一些问题:我可以在线查看应用程序的整个前端,但随机数不会动态显示在网页上 我不知道如何调试它,因为在我的Heroku控制台上没有显示任何错误,所以我根本没有收到任何错误。有什么建议吗 我的proc文件如下所示: web: gunicorn --worker-class eventlet -w 1 orig:app 编辑1: 我打开我的Google Chrome控制台发现: Mixed

我试图部署在希罗库。当我在笔记本电脑上本地启动它时,它运行正常,但在Heroku上部署它以查看结果后,我遇到了一些问题:我可以在线查看应用程序的整个前端,但随机数不会动态显示在网页上

我不知道如何调试它,因为在我的Heroku控制台上没有显示任何错误,所以我根本没有收到任何错误。有什么建议吗

我的proc文件如下所示:

web: gunicorn --worker-class eventlet -w 1 orig:app
编辑1: 我打开我的Google Chrome控制台发现:

Mixed Content: The page at 'https://fast-everglades-74376.herokuapp.com/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://fast-everglades-74376.herokuapp.com/socket.io/?EIO=3&transport=websocket&sid=2e9895ef6415455eac51294746b3edf6'. This endpoint should be available via WSS. Insecure access is deprecated.

socket.io.min.js:1 POST http://fast-everglades-74376.herokuapp.com/socket.io/?EIO=3&transport=polling&t=1540729336006-41&sid=f550b39a0e1e4544b1eee0c3f1719871 400 (BAD REQUEST)
另外,在Firefox控制台上,我发现了另一个关于混合活动内容的错误

编辑2: 我将Gunicorn模块的版本从19.3更改为18.0,之后我尝试在http而不是https上运行该页面。在http上,它似乎正在运行,问题是它现在不会在https上运行。

关于部署到heroku,您需要安装
eventlet才能运行socket io应用程序。此外,还需要一个
Procfile
。它基本上告诉heroku“应用程序”如何运行。在我的示例中,只需写一行:

web: gunicorn -k eventlet python_file:flask_variable_name
在你的例子中,我想是这样的

web: gunicorn -k eventlet application:app

此外,在部署时,确保从heroku dashboard添加
Procfile
,并将其设置为“开”。

嘿,我编辑了问题并添加了Procfile!看看吧!所以我编辑了我的procfile并使用了你给我的那一个,但它还不起作用,同样的问题。我创建了一个requirements.txt文件和procfile,使用git init和git add,用git commit提交应用程序,然后推送所有内容。结果如下:,正如你所看到的,整个前端部分都在那里,但我缺少数字是的,每次我编辑一些东西时,我都会提交本地更改并再次推送所有内容。关于Procfile,当我转到Overview时,我可以看到Procfile在“web”附近启用,请不要添加不相关的绒毛,例如“哦,嗨,又是我,前面的问题的答案是我。”问题和答案应侧重于相关信息。