Django配置websocket时的错误解决

        基于移动群智感知的网络图谱构建系统需要手机app不断上传数据到服务器并把数据推到前端标记在百度地图上,由于众多手机向同一服务器发送数据,如果使用长轮询,则实时性差、延迟高且服务器的负载过大,而使用websocket则有更好的性能。

Django配置websocket的文章网络上有很多,可以参考:

[1]Django中使用WebSocket(channels)_django使用ws-CSDN博客文章浏览阅读356次。下载channels库和daphne库。_django使用wshttps://blog.csdn.net/qq_46042132/article/details/130994781

[2]39.Django 实现WebSocket - cloud_wh - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/qingtianyu2015/p/17196676.html[3]【踩坑指南】Django+channels WebSocket配置_starting asgi/daphne version 4.0.0 development ser-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_25218219/article/details/131752459

[4]14-9 django中配置channels_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV18U4y1Y7Do?p=9&vd_source=c71b91500f94df06bc5d49825b8d6d17 

然而我配置完后,运行报了这样的错误:

 我的代码配置都没有问题,所以我怀疑是python、Django、channels、daphne之间的兼容性发生了问题,我重新安装了django、channels、daphne,但是还是报了相同的错误。

把错误问了chatgpt,说是缺少Cryptography库的Rust扩展导致的。Cryptography库用于处理加密和密码学相关的操作。我重新卸载安装了Cryptography,在安装时报了这样一个错误:

Installing collected packages: cryptography
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pyopenssl 23.0.0 requires cryptography<40,>=38.0.0, but you have cryptography 42.0.1 which is incompatible.
Successfully installed cryptography-42.0.1

原因是安装的cryptography版本(42.0.1)与pyopenssl库的要求存在冲突,pyopenssl要求的cryptography版本应小于40,并且大于等于38。

我安装的是42.0.1版本,所以发生错误,我又把cryptography换成39.0.1版本,再次运行,websocket配置成功:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/439531.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm 和 yarn 的使用

安装 yarn npm i yarn -g查看版本 npm -v yarn --version切换 npm/yarn 的下包镜像源 // 查看当前的镜像源 npm config get registry// 切换淘宝镜像源 // 新的淘宝源&#xff0c;旧的淘宝源已于2022年05月31日零时起停止服务 npm config set registry https://registry.…

表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 表贴式PMSM的直接转矩控制(DTC),直接使用滞环控制对转矩和磁链进行控制&#xff0c;相对于传统的FOC控制而言&#xff0c;其不需要进行解耦变换&#xff0c;在此次的有以下几点需要注意&#xff1a…

Flask使用Jinja2渲染模版使用变量实战

前言&#xff1a; Flask 使用 Jinja2 作为其默认模板引擎&#xff0c;这意味着您可以直接在 Flask 应用程序中使用 Jinja2 模板。您可以创建模板文件&#xff0c;然后在视图函数中渲染这些模板&#xff0c;将动态数据传递给模板进行渲染&#xff0c;并最终生成最终的 HTML 页面…

入境游火了!合合信息扫描全能王“扫描证件”功能获海外用户追捧

春节脚步渐近&#xff0c;全国多地出入境证件办理量增长明显。国家移民管理局从1月11日起正式施行便利外籍人员来华5项措施&#xff0c;进一步打通外籍人员来华经商、学习、旅游的相关堵点。某头部旅行服务公司发布的《2024春节旅游市场预测报告》显示&#xff0c;春节期间入境…

C++---列表初始化

一.初始化的四种方法 我们以int作为类型 &#xff0c;a b c d作为变量进行演示 int main() {int a 10; //常见 C语言int b(20);//和函数声明冲突吗&#xff1f; 答&#xff1a;不冲突&#xff0c;因为函数的参数列表有类型 int b(int a)//有没有类型是我们区别很多问题的关键i…

监控招标标书:构建安全智能监控体系的关键一步

监控招标标书是指针对监控设备、系统及相关服务的采购项目所需提交的书面文件&#xff0c;它承载着建设智能监控体系的关键信息和技术方案。在当今社会&#xff0c;监控设备已经成为了各行各业不可或缺的一部分&#xff0c;从安保监控到工业生产&#xff0c;都离不开各类监控设…

thinkadmin操作栏审核通过(操作确认),审核驳回(录入信息)

录入信息页面 {extend name="../../admin/view/main"}{block name=content} <style>textarea {font-size: 16px;padding: 10px;border: 1px solid #ccc;

机器学习_集成学习之Boosting(提升较弱的模型,以降低弱模型的偏差)

文章目录 介绍AdaBoost算法梯度提升算法(GBDT)极端梯度提升(XGBoost)Bagging 算法与 Boosting 算法的不同之处 介绍 Boosting 的意思就是提升&#xff0c;这是一种通过训练弱学习模型的“肌肉”将其提升为强学习模型的算法。要想在机器学习竞赛中追求卓越&#xff0c;Boosting…

qt 动态添加多个button按钮,并添加单击响应

qt动态添加多个button按钮简单&#xff0c;难题是如何对动态的按钮添加响应函数&#xff0c;本文解决方案有两个 方法一&#xff1a;使用信号-槽函数 QString strTemp;int nCol 6;//一行有6个for(int i 0; i < CZList.size(); i){int ii i / nCol;int jj i % nCol;strT…

网络安全防御保护 Day4

要点一&#xff1a;防火墙的智能选路 就近选路&#xff1a; 在访问不同运营商的服务器时直接通过对应运营商的链路&#xff0c;以此来提高通信效率&#xff0c;避免绕路。 策略路由&#xff08;PBR&#xff09;&#xff1a; 这是一种基于用户定义的策略&#xff08;如业务需求、…

springboot3+vue支付宝在线支付案例-解决跨域请求的问题

springboot3vue支付宝在线支付案例-解决跨域请求的问题&#xff01;为了使用外网地址&#xff0c;跨域请求业务接口。我们需要设置一个类。配置一下。 我们采用的方案是。借助于 WebMvcConfigurer package com.example.demo.config;import org.springframework.context.annot…

酷开会员 | 用酷开系统点亮多彩休闲时刻

现代人的休闲方式多种多样&#xff0c;随着科技的发展和生活水平的提高&#xff0c;人们有了更多的选择。而电视&#xff0c;作为一个休闲娱乐的载体&#xff0c;在生活中扮演着重要的角色。 以前&#xff0c;电视是家家户户休闲娱乐的重要组成部分&#xff0c;现在&#xff0…