
python
木头骑士
三天打鱼两天晒网的执着青年。嵌入式打杂工程师,web全沾工程师。伪文青,真宅男,历史爱好者。
展开
-
自主编译安装的软件找不到动态链接库的问题
找不到动态链接库的问题Python多版本编译安装的问题ubuntu16.04默认的Python3版本是3.5,最新的已经是3.8.2了,想要编译安装一个新版本的与旧版本共存。于是很开心的下载了tar包,执行:./configure --prefix=/opt/python3.8 --enable-shared CFLAGS=-fPICmakesudo make install想着这样...原创 2020-03-04 14:22:16 · 1117 阅读 · 0 评论 -
uWSGI学习笔记5——uWSGI挂载多个Flask application
上一章讲了好多uWSGI的特性,本章再看一个好玩的特性——用一个uWSGI部署多个Flask application用一个uWSGI部署多个Flask app有的时候我们可能要同时部署多个服务应用,可以使用同一个uWSGI进程挂载多个Flask app首先我们写三个flask app:# app1.pyfrom flask import Flask ap...原创 2019-12-10 20:38:25 · 1626 阅读 · 0 评论 -
uWSGI学习笔记4——uWSGI的一些特性
上一章我们实现了nginx+uWSGI+Flask的应用部署,并且研究了一下uWSGI启动的进程,这一章聊一下uWSGI的一些特性和需要注意的地方本章概览uWSGI与多线程application的关系 uWSGI启动的应用如何加载虚拟环境中的包 永远不要使用root 一个释放work的优化方式——卸载 如何让uWSGI支持多版本的Python应用。uWSGI与多线程如...原创 2019-12-09 20:42:17 · 871 阅读 · 0 评论 -
uWSGI学习笔记3——使用uWSGI部署Flask应用
上一篇文章介绍了如何使用uWSGI将部署一个简单的hello world WSGI application,并介绍了uWSGI的processes,threads,status参数和一个查看uwsgi状态的小工具——uwsgitop。但是我们正常的开发过程中,不会自己从头到尾实现WSGI application,而是会使用一些框架,比如Django,Flask,Bottle等。这一章以Flask为...原创 2019-12-09 19:40:54 · 3581 阅读 · 0 评论 -
uWSGI学习笔记2——使用uWSGI作为WSGI server
在上一篇认识wsgi走红,我们了解了WSGI协议,知道了该协议在网络中扮演的角色,并且使用Python自带的WSGI模块wsgiref编写了一个简单的WSGI server。wsgiref是用纯Python写的,性能不行,生产环境还是需要用uWSGI这一类高性能的WSGI server。这一篇我们使用uwsgi替代上一篇提到的自己编写的WSGI server。本章概览使用uWSGI运行简单...原创 2019-12-07 15:06:59 · 1024 阅读 · 0 评论 -
uWSGI学习笔记1——认识WSGI
引子最近项目引入了apscheduler模块做定时任务,在flask本身的调试server中跑的好好的,但是部署到生产环境,就各种报504错误。于是上网搜了一些解决方案,虽然临时解决了,但总觉得心里不放心。加之之前用uwsgi的时候也有一些问题,一直都是临时解决没有深究。这回想接着这个机会好好读一下官方文档,研究一下uwsgi。初识wsgi官方文档说uWSGI这个名字中的"WSGI"部...原创 2019-12-06 19:57:58 · 291 阅读 · 0 评论 -
在 Django 中使用 logging
在 Django 中使用 logginglogging 模块简介logging 是 python 标准库中的模块,用于记录 log。主要包括以下四个组件:Loggers 向应用程序提供log接口Handlers 将log记录发送到指定的目的地(控制台输出,或写入文件或发向网络等等)Filters 提供一个分级策略控制 log 输出等级Formatters 指定输出的最终格式。下面是 Pyt原创 2017-03-12 15:23:16 · 4666 阅读 · 0 评论 -
用groupby对可迭代对象进行分组
itertools中的groupby可对可迭代对象进行分组。形式为:itertools.groupby(iterable, key=None)参数: iterable: 一个可迭代对象,对其进行分组。 key: 分组用的函数,该函数作用于iterable的每个元素,若是返回相同的值就认为是同一组。 返回:返回由元组组成的列表。元组的第一个值是key返回的值,第二个值是一个可迭代对象,就是该分原创 2017-04-15 21:51:52 · 1674 阅读 · 0 评论