Poetry 介绍与使用指南

什么是 Poetry? Poetry 是一个现代化的 Python 依赖管理和打包工具,旨在取代 pip、virtualenv、setup.py 和 requirements.txt,提供更好的依赖管理体验。 Poetry 解决了 pipenv 的性能问题,并且支持包发布,适合 Python 项目和库的开发。 Poetry 的特点 ✅ 一体化管理:同时管理依赖、虚拟环境和 Python 包发布。 ✅ 自动解析依赖:避免版本冲突,解析速度比 pipenv 更快。 ✅ 基于 pyproject.toml:符合 PEP 518 规范,取代 setup.py 和 requirements.txt。 ✅ 锁定依赖:使用 poetry.lock 确保项目可复现。 ✅ 内置虚拟环境:无需手动管理 venv,自动创建隔离环境。 ✅ 发布 Python 包:一键发布到 PyPI (poetry publish)。 安装 Poetry 官方推荐 curl -sSL https://install.python-poetry.org | python3 - 安装完成后,建议将 poetry 添加到 PATH: export PATH="$HOME/.local/bin:$PATH" 使用 pip pip install poetry 验证安装 poetry --version 创建和管理项目 创建新项目...

三月 10, 2025 · 2 分钟 · 蓝胖

SQLModel 简介

SQLModel 是一个基于 Python 的 ORM(对象关系映射)库,它结合了 SQLAlchemy 和 Pydantic 的优势,旨在简化与数据库的交互。SQLModel 主要用于构建与数据库交互的 Python 应用,特别适用于 FastAPI 等 Web 框架。 SQLModel 的特点 基于 SQLAlchemy:SQLModel 是 SQLAlchemy 的一个高级封装,提供更简单的 API。 集成 Pydantic:内置数据校验功能,可以自动解析和校验数据类型。 简单易用:相比 SQLAlchemy,SQLModel 代码更少,更易读。 支持同步和异步:既可以使用同步方式,也可以结合 async 进行异步数据库操作。 自动生成数据库表:支持通过 Python 类定义数据库模型,并自动生成表结构。 SQLModel 安装 pip install sqlmodel 使用示例 1. 定义数据模型 SQLModel 使用 Python 的 dataclass 风格定义数据库模型: from sqlmodel import SQLModel, Field class User(SQLModel, table=True): id: int = Field(default=None, primary_key=True) name: str age: int • table=True 表示这是一个数据库表。 • Field() 允许设置主键、默认值等字段属性。...

三月 9, 2025 · 1 分钟 · 蓝胖

寻找天赋

找到自己的优势或天赋,需要结合自我观察、反馈、测评工具和实践积累。以下是一些实用的方法: 1. 自我观察与回顾 (1) 识别“让你感到轻松的事” • 有些事情你学得特别快,做起来比别人容易,这可能是你的天赋所在。 • 例如:你是否在分析问题时特别敏锐?或在与人沟通时能轻松建立联系? (2) 关注“让你感到投入的事” • 进入“心流”(Flow)状态的活动,通常与你的天赋相关。 • 你是否曾经在做某件事时忘记时间?什么样的任务会让你全神贯注? (3) 盘点你“被认可的优点” • 别人经常夸你哪些方面?朋友、同事、领导找你帮忙时,通常是因为什么? • 这些外界反馈能帮你发现自己擅长的领域。 2. 使用优势识别测评工具 专业测评工具可以提供系统性的分析,帮助你更清晰地认识自己的天赋: (1) CliftonStrengths(盖洛普优势识别) • 由盖洛普开发,能识别你的 34 种优势主题,如战略思维、沟通、执行力等。 • 推荐书籍:《现在,发现你的职业优势》(StrengthsFinder 2.0)。 (2) VIA 性格优势测评 • 由心理学家马丁·塞利格曼开发,帮助识别 24 种性格优势,如好奇心、创造力、领导力等。 • 适用于寻找个人价值观和职业方向。 (3) MBTI(迈尔斯-布里格斯类型指标) • 识别你的性格类型(如 INTJ、ESFP),帮助了解你在团队中的角色和思考方式。 • 适用于职业规划和人际关系分析。 3. 通过实践和反馈不断优化 天赋的真正价值在于应用,你可以用以下方法进行验证和调整: (1) 设定小实验 • 选择几个你认为可能是优势的领域,投入 1-3 个月的时间去尝试。 • 例如,如果你认为自己擅长沟通,可以多参与团队讨论或尝试做演讲。 (2) 向信任的朋友或同事请教 • 直接问:“在你看来,我在哪些方面表现最好?” • 让身边的人给你提供客观的反馈,有时候别人比你自己更清楚你的优势。 (3) 记录成功时刻 • 每天或每周回顾:什么事情让你感到最有成就感?你在哪些场合最自信?...

三月 8, 2025 · 1 分钟 · 蓝胖

Alembic 使用手册

Alembic 是一个用于 SQLAlchemy 的数据库迁移工具,适用于 Python 项目。它支持版本控制数据库模式,并提供灵活的迁移管理方式。 安装 Alembic 使用 pip 安装: pip install alembic 初始化 在项目目录下执行: # 这里 alembic 为目录名,可以设置为其他 alembic init alembic 这将创建 alembic 目录及 alembic.ini 配置文件,结构如下: /your_project /alembic /versions # 存放迁移文件 env.py # 迁移环境配置 script.py.mako # 迁移脚本模板 alembic.ini # Alembic 配置文件 配置数据库连接 在 alembic.ini 中修改 sqlalchemy.url: # 默认配置,文件路径 script_location = alembic sqlalchemy.url = postgresql://user:password@localhost/dbname 修改 env 配置 在 alembic/env.py 修改: from myapp.models import Base # 导入 SQLAlchemy Base # 默认为 None target_metadata = Base....

三月 6, 2025 · 1 分钟 · 蓝胖

Uvicorn 简介

Uvicorn 是一个基于 ASGI(Asynchronous Server Gateway Interface) 的超快、轻量级 Web 服务器,专为 Python 异步框架(如 FastAPI 和 Starlette)设计。它基于 uvloop 和 httptools,提供 高并发 和 低延迟 的性能。 核心特性 ✅ 超快性能:使用 uvloop 提供高效的事件循环,性能比传统 WSGI 服务器(如 Gunicorn)更强。 ✅ 异步支持:天然支持 async/await,适用于 FastAPI、Starlette 等异步框架。 ✅ WebSocket & HTTP/2:支持 WebSocket 连接和 HTTP/2 协议。 ✅ 自动重载:开发环境下支持 –reload 自动重启,提升开发效率。 ✅ 多进程支持:可与 Gunicorn 结合运行,提升并发能力。 Uvicorn 安装 pip install uvicorn Uvicorn 运行 FastAPI 先安装 fastapi pip install fastapi 创建一个简单的 FastAPI 应用 main.py: from fastapi import FastAPI app = FastAPI() @app....

三月 5, 2025 · 2 分钟 · 蓝胖

搭建 Patroni PostgreSQL 高可用集群

项目地址:https://github.com/patroni/patroni 官方文档:https://patroni.readthedocs.io/en/latest/ 中文手册:https://postgres-cn.github.io/patroni-doccn/ 参考:Percona Documentation 服务规划 hostname ip 服务 node1 172.17.83.2 etcd,postgresql,Patroni,haproxy node2 172.17.83.8 etcd,postgresql,Patroni,haproxy node3 172.17.83.12 etcd,postgresql,Patroni,haproxy 准备工作 调整 hostname # 修改 hostname hostnamectl set-hostname node1 # 修改 hosts文件 /etc/hosts 172.17.83.2 node1 172.17.83.8 node2 172.17.83.12 node3 Watchdog # 加载 `softdog` 内核模块 modprobe softdog chown postgres /dev/watchdog # 确保 Watchdog 设备文件存在 [root@node2 pgsql]# ll /dev/watchdog crw------- 1 postgres root 10, 130 2月 12 09:54 /dev/watchdog 部署 PG14 安装PG # 更新系统包 yum install -y epel-release yum update -y # 安装pg yum install -y https://download....

二月 20, 2025 · 5 分钟 · 蓝胖

安装 Golang 环境

mac brew install go linux 下载:https://go.dev/dl/ 下载安装对应版本的安装包:go1.18.2.darwin-amd64.pkg,默认安装路径:/usr/local/go 设置全局变量 # golang export GOROOT="/usr/local/go" export PATH="$GOROOT/bin:$PATH" export GOPATH="$HOME/go" export PATH="$GOPATH/bin:$PATH" 使生效:`source /etc/profile 优化配置 # 开启 go module ,默认在项目根目录下生成两个文件`go.mod`和`go.sum` go env -w GO111MODULE=on # Go1.13之后GOPROXY默认值为https://proxy.golang.org,在国内是无法访问的,因此一般会改成goproxy.cn go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct go env -w GOPROXY=https://mirrors.cloud.tencent.com/go/,direct

七月 29, 2024 · 1 分钟 · 蓝胖

部署 Nginx 透明代理

安装代理模块 Nginx 官方没有支持正向代理的模块,只能通过加载第三方模块来实现 安装依赖 yum -y install pcre-devel openssl openssl-devel patch 下载二进制包 https://nginx.org/download/nginx-1.25.0.tar.gz https://github.com/chobits/ngx_http_proxy_connect_module/archive/refs/tags/v0.0.5.tar.gz 编译安装 # 将 nginx 和 ngx_http_proxy_connect_module上传到 /opt 目录下并解压 tar zxf nginx-1.25.0.tar.gz && tar zxf ngx_http_proxy_connect_module-0.0.5.tar.gz mv ngx_http_proxy_connect_module-0.0.5 ngx_http_proxy_connect_module [root@ opt]# ls nginx-1.25.0 ngx_http_proxy_connect_module # 加载 ngx_http_proxy_connect_module cd nginx-1.25.0/ patch -p1 < /opt/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_102101.patch ./configure --prefix=/opt/nginx --add-module=/opt/ngx_http_proxy_connect_module --with-stream --with-stream_ssl_preread_module --with-stream_ssl_module make && make install 配置环境变量 echo 'export PATH=$PATH:/opt/nginx/sbin' >> /etc/profile source /etc/profile 透明代理配置 修改配置文件:/opt/nginx/conf/nginx.conf # http http { include mime....

五月 20, 2023 · 2 分钟 · 蓝胖

ansible-playbook

Playbook是Ansible的配置、部署、编排语言,它可以描述一系列的任务。本篇博客将讲解ansible的playbook的用法。ansible ...

六月 13, 2018 · 3 分钟 · 蓝胖

Python之数据可视化

本篇博客主要介绍matplotlib模块。简单来说,Matplotlib 是 Python 的一个绘图库。它包含了大量的工具,你可以使用这些工具创建各种图形,包括简单的散点图,正弦曲线,甚至是三维图形。可以说matplotlib是python的数据可视化神器。 官网地址:https://matplotlib.org/index.html ...

六月 12, 2018 · 2 分钟 · 蓝胖