PDM 是一个新的 Python 包管理工具,它的作者是 PyPa 成员、Pipenv 目前主要的维护者之一。在我许久的使用过程里,深觉这个工具比目前出现的任何其他 Python 包管理工具都好用。但是不能说它是 Python 界的 NPM,因为有些功能 NPM 都没有 …
ContextVars 是 Python3.7 以及之后版本里的标准库。
应用场景
Context managers that have state should use Context Variables instead of threading.local() to …
很多著名的库,例如 poetry 虽然提供了 PyPi 包,但它们仍然推荐使用它们自身编写的安装脚本去安装。
这是为什么?
众所周知,使用 pip 命令默认是安装到系统的 python 环境里的。当你安装的包过多,总会遇到依赖冲突的事(如果没遇到,说明你很幸运)——一个库依赖于另一个库的 0 …
poetry 满足了我对包管理器的一切愿望,它的野心有点大,向着 Python 界的 npm 一路狂奔。
但这不是贬义词,它是一款比 pipenv 优秀的包管理器——当你适应它之后。
poetry init
就像 npm init
一样,poetry …
无服务函数也许是近来较为热门的一个东西。由于我没得信用卡,无奈只好在阿里云上小试一番。
但我惊奇的发现,如果使用flask等支持WSGI的Web框架去写一个无服务函数,是没办法直接用阿里云的API网关去调用函数的。因为网关为了通用性,它不可能一个个协议去做适配。
那么我为了方便开发与使用,创造了Aliyun Gateway Interface(aligi)。
如何使用
按例,pip install aligi
安装一下 …
最近在用阿里云的函数计算服务,需要使用JWK(Json Web Key)来生成JWT(Json Web Token),一时之间竟没有找到一个优雅的、提供JWK生成JWT的库,差点绝望的使用了阿里云给的Java样例。然后惊喜的发现PyJWT其实是支持JWK的,但是文档上并没有写。
此篇做一个系统的梳理,算是对官方文档的补充。
安装
如果你不需要使用类似于RSA的加密算法 …
当你度过了Python新手期之后,肯定为了某些目的开发过自己的库。秉持着开源精神,可能会将自己觉得有用的库发布到网络,这时候,就有了一个问题。如何发布?
setup.py
稍有经验的Python开发者都知道,setup.py
是每个能从PyPi上能下载到的库都有的文件,它正是发布的关键所在。
那么,如何编写?
不得不介绍kennethreitz …
最近由于PM的需求,又去研究了Django一个app对应一个子域名的用法。寻找资料的过程中发现没有较好的中文教程,遂有此篇。
安装Django-Hosts
按照惯例,首先需要pipenv install django-hosts
(如果你没有pipenv, pip也是一样的)。
-
把
'django_hosts'
加入项目设置中的INSTALLED_APPS
-
把
'django_hosts.middleware …
定时任务无论是个人开发还是企业业务都是需要的。但个人开发的时候使用celery,未免有点杀鸡用牛刀的感觉。Celery性能不错,但配置起来并没有那么简单。非密集型的定时任务,我们完全可以使用django-background-tasks来替代Celery。
How to use
按例,pip install django-background-tasks
来安装。
然后加入INSTALLED_APPS:
INSTALLED_APPS = (
# ...
'background_task' …