烧瓶套接字 io 不工作(Windows 7 和 10)anaconda 和 python 3.7

Posted

技术标签:

【中文标题】烧瓶套接字 io 不工作(Windows 7 和 10)anaconda 和 python 3.7【英文标题】:flask socket io not working ( windows 7 & 10 ) anaconda and python 3.7 【发布时间】:2019-03-15 09:34:27 【问题描述】:

我仍然是开发中的新手(请不要评价我在过去 5 天里到处寻找解决方案的帖子) ,我只有两个项目作为教程 在第二个项目中,我不得不将 Socket IO 与烧瓶一起使用,但它不起作用 - 如果我的代码中没有套接字 io 并且我运行 flask run 它会输出以下内容:

D:\WORK\study sc5\project1\project1>flask run
Serving Flask app "hello"
Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

如果里面有socket io:

D:\WORK\study sc5\project2\project2>flask run
 * Serving Flask-SocketIO app "application"

**当我访问 127.0.0.1:5000 时,我发现服务器正在运行,所以我忽略了它不打印 Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 并继续告诉我做了第一次测试,看看 socket io 是否可以打印,我注意到了一切都打印得很好,但是 socket io

我问了我的同学,在github上买了5天的票,我们无法解决这个问题 我已经在 2 台机器(家庭 windows 10 和工作场所 windows 7)上尝试过,结果都是一样的

我制作了 2 个关于它的视频(如果允许,我会尝试在这里分享)

.py 文件只有以下内容

import os

from flask import Flask
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config["SECRET_KEY"] = "sdfsdfssefe"
socketio = SocketIO(app)


@app.route("/")
def index():
    return "Project 2: TODO"

我有这个的系统 1- windows 10 - anacanda 2- windows 7 - anacanda

到目前为止我尝试过的事情:

更新 anaconda 小事件 事件 卸载 anaconda 重新安装较新版本的 anaconda 再次卸载 anaconda 安装 python 3.7

安装运行项目 1 所需的所有组件 导入操作系统,passlib,请求

from flask import Flask, session, render_template, request from

flask_session import Session from sqlalchemy import create_engine

from sqlalchemy.orm import scoped_session, sessionmaker from

passlib.hash 导入 sha256_crypt

使用 python 3.7 安装 eventlet

安装 cgywin 在 cgywin 上测试服务器

结果都一样 除了

现在在 cgywin 和 python 3.7 之后,当我尝试运行我自己的版本时 项目 2 过去运行平稳但不打印任何内容 socket io - 它现在说 (can't import application.py)

点冻结

证书==2018.8.24 chardet==3.0.4 点击==7.0 dnspython==1.15.0 eventlet==0.24.1 烧瓶==1.0.2 Flask-Session==0.3.1 Flask-SocketIO==3.0.2 greenlet==0.4.15 idna==2.7 其危险==0.24 Jinja2==2.10 MarkupSafe==1.0 单调==1.5 passlib==1.7.1 psycopg2==2.7.5 python-engineio==2.3.1 python-socketio==2.0.0 请求==2.19.1 六==1.11.0 SQLAlchemy==1.2.12 urllib3==1.23 virtualenv==16.0.0 virtualenv-api==2.1.16 Werkzeug==0.14.1

我已在课程组、github 和视频上开票,以演示如果有人能解释我如何上传它们会发生什么,我将编辑帖子并分享它们

https://github.com/miguelgrinberg/Flask-SocketIO/issues/807(我也在最新的cmets发过视频)

【问题讨论】:

【参考方案1】:

这样效果更好吗?

import os

from flask import Flask
from flask_socketio import SocketIO, emit

@app.route("/")
def index():
    return "Project 2: TODO"

app = Flask(__name__)
app.config["SECRET_KEY"] = "sdfsdfssefe"
socketio = SocketIO(app)

if __name__ == '__main__':
    socketio.run(app)

【讨论】:

以上是关于烧瓶套接字 io 不工作(Windows 7 和 10)anaconda 和 python 3.7的主要内容,如果未能解决你的问题,请参考以下文章

使用烧瓶socketio经常断开套接字连接

烧瓶 socketio CORS

如何在 Windows Server 上托管 Python 3.7 烧瓶应用程序?

Python 烧瓶、apache 和 mod_wsgi 应用程序不工作

在windows系统中对套接字数据进行io时为啥不可以直接使用文件io相关函数?

如何在不使用请求的情况下直接从代码调用烧瓶端点