Python 开发环境
这页更偏“Python 入门与常用工具总览”。如果你是第一次把 Python 用起来,优先搞清楚虚拟环境、依赖安装和常用库,不需要一开始就追求很复杂的工程化。
推荐学习顺序
- 先装 Python
- 会创建和切换虚拟环境
- 学会安装依赖与导出依赖
- 再接触
uv、Poetry 这类更现代的工作流
这页适合谁
- 想开始写 Python 脚本
- 需要处理 API、文件、JSON、自动化任务
- 想先有一套能跑的环境,再慢慢升级工作流
安装
# Windows
winget install Python.Python.3.12
# 或
scoop install python
# macOS
brew install python
# Ubuntu
apt install python3 python3-pip python3-venv -y
虚拟环境
# 创建
python -m venv .venv
# 激活
# Linux/macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate
# 退出
deactivate
包管理
pip
pip install requests
pip install -r requirements.txt
pip freeze > requirements.txt
pip list --outdated
pip install --upgrade package
uv(推荐)
更快的 Python 包管理器。
# 安装
scoop install uv
# 或
pip install uv
# 使用
uv venv # 创建虚拟环境
uv pip install requests # 安装包
uv pip compile requirements.in -o requirements.txt
uv run script.py # 直接运行
Poetry
pip install poetry
poetry new myproject # 新建项目
poetry init # 在已有项目初始化
poetry add requests # 添加依赖
poetry install # 安装所有依赖
poetry shell # 进入虚拟环境
poetry build # 构建包
常用代码片段
HTTP 请求
import requests
# GET
resp = requests.get("https://api.example.com/data")
data = resp.json()
# POST
resp = requests.post("https://api.example.com/data", json={"key": "value"})
文件操作
from pathlib import Path
# 读写文件
content = Path("file.txt").read_text(encoding="utf-8")
Path("output.txt").write_text("hello", encoding="utf-8")
# 遍历目录
for f in Path(".").rglob("*.py"):
print(f)
JSON 处理
import json
# 读取
with open("data.json", encoding="utf-8") as f:
data = json.load(f)
# 写入
with open("out.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
异步编程
import asyncio
import aiohttp
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
return await resp.json()
async def main():
urls = ["https://api.example.com/1", "https://api.example.com/2"]
tasks = [fetch(url) for url in urls]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())
常用库
| 库 | 说明 |
|---|---|
| requests | HTTP 客户端 |
| FastAPI | 现代 Web 框架 |
| Pydantic | 数据验证 |
| Rich | 终端美化输出 |
| Click | CLI 框架 |
| Pillow | 图像处理 |
参考链接
常见使用场景
写自动化脚本
requestspathlibjson
写 API 服务
FastAPIPydantic
做 CLI 工具
ClickRich
常见问题
已经装了包,代码里还是 ModuleNotFoundError
大多数时候是包装到了错误的解释器或错误的虚拟环境里。先确认当前终端和编辑器用的是同一个环境。
该选 uv 还是 Poetry
- 先求快和轻:
uv - 做包管理、发布和完整项目元数据:Poetry
requirements.txt 还要不要保留
老项目通常要保留;新项目可以视团队习惯选择更现代的依赖描述方式。
- Python 官网 — 文档与下载
- Real Python — 教程
- uv — 快速包管理
- Poetry — 项目管理
- Python 环境配置 — 更完整的安装、镜像和编辑器配置流程