1

我仍然是开发中的新手(请不要评价我的帖子,我在过去 5 天里到处寻找解决方案),我只有两个项目作为我必须使用的第二个项目的教程带有烧瓶的套接字 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
  • 安装python 3.7
  • 安装运行项目 1
    import os 、 passlib、requests所需的所有内容

    从烧瓶导入烧瓶,会话,渲染模板,请求来自

    flask_session 从 sqlalchemy 导入会话导入 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 版本时,它曾经运行顺利,但没有从套接字 io 打印任何东西 - 它现在说(无法导入 application.py)

点冻结

  • 证书==2018.8.24
  • chardet==3.0.4
  • 点击==7.0
  • dnspython==1.15.0
  • 小事件==0.24.1
  • 烧瓶==1.0.2
  • 烧瓶会话==0.3.1
  • Flask-SocketIO==3.0.2
  • 小绿==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
  • 虚拟环境==16.0.0
  • virtualenv-api==2.1.16
  • Werkzeug==0.14.1

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

https://github.com/miguelgrinberg/Flask-SocketIO/issues/807(我还在最新评论中发布了视频)

4

1 回答 1

0

这会更好吗?

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)
于 2018-10-16T19:12:31.230 回答