Python 开发

分类下的全部文章

Python 开发

Python 异步编程 async 处理规则

铁律 1:网络 I/O 必须 await **(如:请求 OpenAI、查数据库、Redis、读写 S3)** **为什么要 await?** 因为这些操作**不费 CPU**。CPU 只是发了个指令,然后就在那傻等。 如果你不用 await,CPU 就会像个傻子一样盯着网卡,什么都不干。用了 await,CPU 就能在等待期间去处理别人的请求。 **做法**:使用支持异步的库(httpx, asyncpg, motor),直接 aw…

·7 min read
Python 开发

ubuntu 使用 Miniconda

默认进入 base 环境不好,建议设置成“默认不激活 base”: 这是 Anaconda 最近更新了服务条款(Terms of Service)导致的。现在即使是免费用户,也需要显式同意他们的条款才能下载包。 创建一个新环境 比如我们要跑 **Ollama** 的脚本或者 **Milvus** 的 Python 代码,建议建一个 Python 3.10 或 3.11 的环境。

·3 min read
Python 开发

Cursor 配置 python debug 模式开发

之前一直用 pycharm 进行 debug,但奈何实在是内存大户,所以直接转去 cursor debug了。之前一直是 cursor code + pycharm debug。。 常规python 路径 创建: .vscode/launch.json 即可 debug。 简单来说:**PYTHONPATH 就是 PyCharm 里 "Mark Directory as Sources Root" 的“手动版”。** 只会去这几个地方…

·9 min read
Cursor 配置 python debug 模式开发
Python 开发

Fastapi 最快的序列化返回-ORJSONResponse

ORJSONResponse 确实比 FastAPI 默认的 JSONResponse 快很多,通常被称为目前 Python 生态中最快的 JSON 序列化方案。 以下是它为什么快的核心原因(底层原理拆解): 核心差异:跳过了“字符串编码”这一步 (最关键) 这是 orjson 能够秒杀标准库 json 的最大杀手锏。 **标准 json (默认)**: 把 Python 对象转换成 **Python 字符串 (str)**。 Web…

·10 min read
Fastapi 最快的序列化返回-ORJSONResponse
Python 开发

Catch-All 路由

目录 [[toc]] 介绍 **✅ 什么是 Catch-All 路由?** > Catch-All 路由 指的是:一个能匹配“任意路径”的通配型路由。 它一般会使用 **路径参数 path 类型**,比如: 这个 / 开头的 /{full_path:path},意思是: • 匹配任何以 / 开头的请求; • 把完整的路径作为字符串传入 full_path; • 哪怕路径是 /foo/bar/hello.jpg,它也能匹配! 所以叫 C…

·15 min read
Python 开发

接口等幂处理

目录 [[toc]] 介绍 **✅ 什么是等幂(Idempotency)?** > 等幂 > > > **无论这个操作被执行多少次,结果都是一样的,不会因为多次执行而产生副作用。** 通俗一点说:**“点一次和点一百次,效果是一样的。”** **✅ 在接口中,什么是等幂操作?** 在 Web / API 开发中,一个 **等幂操作的接口**,意味着客户端(用户、服务、浏览器)**多次请求同一个接口,结果不变,也不会影响系统的状态或数据…

·18 min read
Python 开发

单例模式-介绍

目录 [[toc]] 介绍 **✅ 一、什么是单例模式?** > 一个类在整个程序运行过程中,只能被创建一次实例,且这个实例是全局共享的。 **✅ 二、为什么要用单例模式?** 适用于那些: • 系统中只应该有一个实例存在的对象 • 该对象需要被多个地方共享使用(比如:**配置类、数据库连接池、线程池、缓存、日志器**) 相关模式实现 **⭐ 方式一:最经典的懒汉式(线程不安全)** 只有在**第一次调用时**才创建实例,**之前不初…

·19 min read
Python 开发

Alembic使用

目录 [[toc]] Fastapi 使用ORM 使用的是SqlAlchemy,这里使用alembic进行数据库文件迁移与数据库迁移。 @TOC 介绍 Alembic是一种用于**数据迁移和版本控制**的工具,由 SQLAlchemy 项目维护,特别适用于Python编写的数据库应用程序。它允许你按照预定的数据库模型定义,在不丢失现有数据的情况下进行数据库模式的更改。 **主要功能** **数据库迁移**:通过 Alembic 可以自…

·27 min read
Python 开发

谷歌tts使用与一次性生成sdk

目录 [[toc]] https://console.cloud.google.com/ 价格 每个月 100 万字符使用免费。 配置 API 创建凭证 创建密钥 赋予权限 然后 下载密钥的 json 文件即可。 一次性生成文件信息 配置文件: 谷歌 tts 一次性 [minio 文件上传部分见 ] https://jacin.me/articles/python/s3%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB…

·21 min read
谷歌tts使用与一次性生成sdk
Python 开发

谷歌tts流式生成

目录 [[toc]] https://cloud.google.com/text-to-speech/docs/create-audio-text-streaming?hl=zh-cn#client-libraries-install-python 目前谷歌 tts sdk 原生不支持中文流式,所以第一种是自建的伪流式(本质是先解析整个再流式返回客户端) 模拟流式(伪流式) **一步到位**:先用 synthesize_speech…

·40 min read