【问题标题】:Circular Import error when trying to use flask-socket library尝试使用烧瓶套接字库时出现循环导入错误
【发布时间】:2021-03-18 05:28:09
【问题描述】:

我正在尝试使用 flask_socketio 库,遵循文档:https://python-socketio.readthedocs.io/en/latest/intro.html#what-is-socket-io

我有一个名为 socketio.py 的文件,并尝试使用他们的示例代码:

from flask import Flask, render_template
from flask_socketio import SocketIO

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

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

尝试通过 python3 ($ python3 socketio.py) 运行时出现此错误

Traceback (most recent call last):
  File "socketio.py", line 2, in <module>
    from flask_socketio import SocketIO
  File "/usr/local/lib/python3.8/dist-packages/flask_socketio/__init__.py", line 21, in <module>
    import socketio
  File "socketio.py", line 2, in <module>
    from flask_socketio import SocketIO
ImportError: cannot import name 'SocketIO' from partially initialized module 'flask_socketio' (most likely due to a circular import) (/usr/local/lib/python3.8/dist-packages/flask_socketio/__init__.py)

当我尝试使用 flask run 运行它时,我得到了这个错误

Error: While importing "socketio", an ImportError was raised:

Traceback (most recent call last):
  File "python3.8/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "socketio.py", line 2, in <module>
    from flask_socketio import SocketIO
  File "/usr/local/lib/python3.8/dist-packages/flask_socketio/__init__.py", line 22, in <module>
    from socketio.exceptions import ConnectionRefusedError  # noqa: F401
ModuleNotFoundError: No module named 'socketio.exceptions'; 'socketio' is not a package

我已经尝试卸载 socketio 并重新安装和 flask-socketio,因为如果你都安装了似乎有问题,但它仍然继续给出相同的错误。

【问题讨论】:

    标签: python python-3.x flask websocket socket.io


    【解决方案1】:

    我可以看到您已将程序命名为 socketio.py。这与flask_socketio 使用的socketio 模块冲突。重命名您的文件名并尝试运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-09
      • 2021-01-20
      • 2022-08-18
      • 2017-06-03
      • 2019-04-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多