python类
文章平均质量分 63
sandwu
这个作者很懒,什么都没留下…
展开
-
DEBUG Starting new HTTP connection -- requests的debug日志关闭
使用无效,如何解决?原创 2024-03-20 11:04:21 · 211 阅读 · 0 评论 -
Python celery Worker exited prematurely: signal 11 (SIGSEGV) --一种解决方案
前文 在一次架构升级后,Python celery遇到不知名异常,致使worker异常退出,最终导致可用worker数越来越少,任务卡死队列。 异常原因从celery日志看仅一个signal 11,从linux signal信号来看,signal 11标识Segmentation violation,即段异常,涉及到linux内核的数据异常,对于应用层使用celery来说,借鉴意义不大。需要进一步的异常排查定位问题。 celery版本:4.3.0;python版本:3.6.8排查 由于报错原创 2022-02-11 17:36:53 · 2440 阅读 · 1 评论 -
grpc+python解析复杂的字典嵌套、列表嵌套参数
文章目录前文应用前文关于grpc的介绍和初步应用,看这篇:https://blog.csdn.net/weixin_42681866/article/details/121509556本篇主要写出如何应用复杂的protobuf类型应用我们在写json的时候,最常写的格式就是字典嵌套列表,或者列表嵌套字典,对于这两者在grpc里如何实现protobuf转换呢?比如这样一个格式(示例一):{"food": {"fruit":"apple", "meat": ["pork", "beaf"], "e原创 2021-11-24 11:01:18 · 2678 阅读 · 2 评论 -
grpc+python的说明和应用
文章目录引用实操引用关于rpc和grpc这篇文章写得不错:https://zhuanlan.zhihu.com/p/148139089其中几点注意下即可:1.rpc即remote procedure call(远程服务调用),所以比如redis-cli和redis-server之间的通讯交互也是rpc。而其有三个特点:需要事先约定调用的语义(接口语法)需要网络传输需要约定网络传输中的内容格式2.网络传输可以是:http、tcp,所以可以说grpc包含了http,http是其传输的一种形原创 2021-11-24 10:36:59 · 1033 阅读 · 0 评论 -
解决:distutils.errors.CompileError: command ‘gcc‘ failed with exit status 1 Building wheel for grpc
前文 在安装grpcio的依赖的时候,竟然发现了编译失败,网上找了一大圈的,都解决不了我的问题,比如下载python-devel依赖,比如升级pip等等,最后发现原来换个方式搜就能解决问题了。报错: We could not diagnose your build failure. Please file an issue at http://www.github.com/grpc/grpc with `[Python install]` in the title. Traceback (m原创 2021-10-29 14:50:36 · 5583 阅读 · 1 评论 -
err: command ‘gcc‘ failed with exit status 1 解决方法
解决安装pycrypto时失败,报错:err: command ‘gcc’ failed with exit status 1本质上是缺少了相关依赖。centos执行:yum install gcc gcc-c++ python3-devel pycryptoubuntu执行:sudo apt-get install libpq-devsudo apt-get install build-dep python-psycopg2...原创 2021-09-24 15:32:08 · 2030 阅读 · 0 评论 -
Python装饰器详解(一)
文章目录前言定义进阶总结前言 装饰器作为Python的基础,无论在面试还是在日常工作中用到的频率算是非常频繁的,而其本身的特点也非常适合用来考核水平,可以问的很浅,也能问的很深。在之前的学习中,我经常费劲心思去记录各种装饰器,比如普通装饰器、带参装饰器、类装饰器、带参类装饰器,觉得花里胡哨的,而平常用的不就是普通装饰器就够用了么,并且用的频率相对其他来说也不算很频繁,往往定义一个就够用上许久。 在这篇文章里,我会通俗易懂地讲述这些装饰器的存在意义,以及如何快速地记录和使用他们,话不多说,开始吧。原创 2021-02-26 00:48:36 · 1157 阅读 · 2 评论 -
Python生产环境用Virtualenv来管理依赖环境(TMPDIR=/tmp cannot hold executables绕过方法)
文章目录前文解决总结前文 在开发环境使用Python创建程序的时候,我们喜欢用pyenv+virtualenv来管理,不过在生产环境因为机器的限制,有的时候就用不上pyenv,比如当我安装好pyenv的时候,想pyenv install 3.6.8安装Python3.6.8时就报错如下:TMPDIR=/tmp cannot hold executables (partition possi...原创 2019-12-29 21:18:25 · 590 阅读 · 0 评论 -
Django原生sql语句分页转为json返回前端(Object of type 'Page' is not JSON serializable解决方法)
文章目录前文调用原生SQL总结前文 用惯了Django的orm,在用原生sql的时候发现要分页并转换为分页对象再格式化成json传给前端还挺麻烦的,这里总结下方法,方便后续的借鉴和参考! Django的orm能解决几乎所有的单表查询,唯独在连表查询和子查询等复杂的查询上无能为力,特别是连表查询,在工程上的使用还是非常频繁的,而Django仅支持外键(或者伪外键,即在Django的mode...原创 2019-11-29 09:58:55 · 1490 阅读 · 0 评论 -
checking whether we are cross compiling... configure: error: in `/tmp/pip-build-rktAki/pycrypto解决方法
https://stackoverflow.com/questions/24152521/pycrypto-installation-configure-error-cannot-run-c-compiled-programs原创 2019-10-23 09:48:15 · 7580 阅读 · 1 评论 -
__virtual__ returned False: cannot import name certs ---saltstack异常解决
连接:https://github.com/saltstack/salt/issues/43937命令:pip uninstall urllib3pip uninstall chardetpip install -I urllib3==2.6pip install -I urllib3==1.10.2python -c 'import requests'python -c 'imp...原创 2019-09-08 12:31:06 · 1131 阅读 · 0 评论 -
Python Django实现MySQL百万、千万级的数据量下载:解决memoryerror、nginx time out
前文 在用Django写项目的时候时常需要提供文件下载的功能,而Django也是贴心提供了几种方法:FileResponse、StreamingHttpResponse、HttpResponse,其中FileResponse和StreamingHttpResponse都是使用迭代器迭代生成数据的方法,所以适合传输文件比较大的情况,...原创 2019-06-25 08:32:52 · 2569 阅读 · 4 评论 -
Python mysql.connector取影响数据库行数报MemoryError解决方法
前文 同事反馈执行下载sql时返回500异常,上日志查看报了MemoryError,报错如下图: 赶紧查了下系统的内存可用,发现只有200M可用,当下载行数超过5w行就GG了,查看报错发现在cursor.fetchall()出错,google了才知道cursor.fetchall()和cursor.fetchone()都是先从数据库读取到内存中,然后再返回,结果就造成MemoryError...原创 2019-02-21 23:25:56 · 2745 阅读 · 0 评论 -
生成器详解教程以及协程详解教程
前文 相对于迭代器的“笨重”,生成器要来的更为优雅(关于迭代器的详解可参考:迭代器详解)。生成器是特殊的迭代器,也是实现惰性算法,原创 2018-11-03 13:01:32 · 396 阅读 · 0 评论 -
Python迭代器和生成器详解
前文 迭代器(Iterator)和生成器(generator)是python众多强大的数据类型之一,两者的作用都是惰性计算,即不会立即产生所有结果,而是逐步产生一个个;两者的区别则是生成器本质上属于迭代器,生成器用于“凭空”生成元素,迭代器则是用于从集合中取出元素。斐波那契数列就是很好的例子,数列是个无穷数列,一个集合里放不下。不过通常来说,两者可以视作同一概念,即迭代器和生成器都可用于实现斐...原创 2018-10-25 12:57:22 · 419 阅读 · 0 评论 -
Python @property详解及底层实现介绍
前文 python内置有三大装饰器:@staticmethod(静态方法)、@classmethod(类方法)、@property(描述符),其中静态方法就是定义在类里的函数,并没有非要定义的必要;类方法则是在调用类属性、传递类对象时使用;而@property则是一个非常好用的语法糖。@property最大的好处就是在类中把一个方法变成属性调用,起到既能检查属性,还能用属性的方式来访问该属性的...原创 2018-10-25 11:05:14 · 35456 阅读 · 15 评论 -
Python私有属性和__slots__——禁止访问类的实例属性
写在前面 刚认识python的__slots__属性时,就对其可以禁止访问类的实例属性这一功能感到由衷喜欢,总比私有属性的不那么私有来的可爱(只要想访问,python的私有属性都是可以访问)。如果你对这两个知识点还不是很熟悉,那这片浅显易懂的文章就值得一看。__私有属性 提到python的私有属性,即是在属性前加双下划线,最大的作用就是防止别人访问该私有属性,如果访问就会报错:Attri...原创 2018-10-19 17:10:40 · 3771 阅读 · 1 评论