python - 尝试使用烧瓶套接字库时出现循环导入错误
问题描述
我正在尝试使用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,因为如果你都安装了似乎有问题,但它仍然继续给出同样的错误。
解决方案
我可以看到你已经命名了你的程序socketio.py
。这与使用的 socketio 模块冲突flask_socketio
。重命名您的文件名并尝试运行。
推荐阅读
- javascript - 更改单击时的 href 以使用当前 url 的字符串转到 url
- java - OpenAm如何在回调中重定向到模板(过程方法)
- python - 如何转换 FFT 结果以进行实际时间序列分析?
- xcode - 无法使用 Xcode 11 GM 存档
- java - 有没有 ImageReader 的替代品
- jquery - 如何在菜单项上悬停时显示子菜单项
- javascript - 如何按路径加载特定文件?
- javascript - Bigcommerce Process Payment with api 401 错误,代码为 10001
- oracle - 如何使用 expdp 导出 Oracle 中的用户及其角色和系统权限?
- lua - ROBLOX SetAsync 一直返回 nil 并且不保存数据?