环境管理

# 创建虚拟环境
python -m venv venv

# 激活 (PowerShell)
.\venv\Scripts\Activate.ps1

# 停用
deactivate

# 删除虚拟环境
Remove-Item -Recurse -Force venv

依赖管理

# 安装依赖
pip install fastapi uvicorn python-dotenv

# 生成 requirements.txt
pip freeze > requirements.txt

# 从文件安装
pip install -r requirements.txt

# 查看过时包
pip list --outdated

# 预览更新 (dry-run)
pip install --upgrade --dry-run package-name

# 批量更新所有包
pip install --upgrade $(pip list --outdated --format=columns | Select-Object -Skip 2 | ForEach-Object { $_.Split()[0] })

# 安全更新 (仅补丁版本)
pip install --upgrade --upgrade-strategy only-if-needed package-name

依赖更新工具

# 安装 pip-review
pip install pip-review

# 交互式更新 (逐个确认)
pip-review --interactive

# 自动更新所有
pip-review --auto

# 本地更新 (仅 requirements.txt 中的包)
pip-review --local

# 安装 pip-audit (安全审计)
pip install pip-audit

# 检查安全漏洞
pip-audit

镜像源配置

# 临时使用镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastapi

# 永久配置 (Windows)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 查看当前配置
pip config list

# 常用国内镜像
# 清华: https://pypi.tuna.tsinghua.edu.cn/simple
# 阿里: https://mirrors.aliyun.com/pypi/simple
# 腾讯: https://mirrors.cloud.tencent.com/pypi/simple
# 华为: https://repo.huaweicloud.com/repository/pypi/simple
# 中科大: https://pypi.mirrors.ustc.edu.cn/simple

# 恢复官方源
pip config unset global.index-url

运行应用

# 开发模式 (热重载)
uvicorn app.main:app --reload

# 指定端口/主机
uvicorn app.main:app --host 0.0.0.0 --port 8000

# 生产模式 (多进程)
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4

# 后台运行
Start-Process -NoNewWindow uvicorn "app.main:app --host 0.0.0.0 --port 8000"

测试

# 运行测试
pytest tests/ -v

# 带覆盖率
pytest tests/ --cov=app --cov-report=html

数据库迁移 (Alembic)

# 初始化
alembic init alembic

# 生成迁移
alembic revision --autogenerate -m "描述"

# 执行迁移
alembic upgrade head

# 回滚
alembic downgrade -1

Docker

# 构建
docker build -t fastapi-app .

# 运行
docker run -p 8000:8000 fastapi-app

# Compose
docker-compose up -d
docker-compose down

端口管理

# 查看占用端口
netstat -ano | findstr :8000

# 杀进程
taskkill /PID <PID> /F

常见问题

# 执行策略问题
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 清理缓存
pip cache purge

# 重新安装 pip
python -m pip install --upgrade pip