🐍 Day1 : Python 环境搭建 — 现代 Python 工作流

学习路径:Python_AIGC · Day 1

掌握一套干净、可复现的 Python 开发环境,是一切工程的基础。


1️⃣ 为什么需要环境管理?

Python 版本混乱(2.7 vs 3.x)、项目依赖冲突(A 要 Django3,B 要 Django4)是日常痛点。一个合格的 Python 环境方案要解决三个问题:

问题 解决方案
多版本 Python pyenv
依赖隔离 venv(内置)
依赖锁定 & 快速安装 uv

2️⃣ pyenv --- Python 版本管理

安装

bash 复制代码
# macOS
brew install pyenv

# 写入 shell 配置
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

常用命令

bash 复制代码
# 查看可安装版本
pyenv install --list | grep " 3.[0-9]*.[0-9]*$"

# 安装指定版本
pyenv install 3.12.3
pyenv install 3.11.9

# 查看已安装
pyenv versions

# 全局默认版本
pyenv global 3.12.3

# 项目本地版本(项目目录下创建 .python-version)
cd my-project
pyenv local 3.11.9

🔑 核心思路 :pyenv global 设默认,pyenv local 按项目锁定。


3️⃣ uv --- 下一代包管理器

uv 比 pip 快 10-100 倍,由 Rust 实现,兼容 pip 生态。

安装

bash 复制代码
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# 或 brew
brew install uv

日常使用

bash 复制代码
# 创建虚拟环境(比 python -m venv 快 50x)
uv venv

# 激活(与 venv 完全一致)
source .venv/bin/activate

# 安装依赖
uv pip install fastapi uvicorn

# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 锁定依赖版本
uv pip freeze > requirements.txt

uv 独有的优势

bash 复制代码
# 一键创建并进入新项目
uv init my-app
cd my-app

# 添加依赖(自动更新 pyproject.toml)
uv add httpx

# 直接运行脚本(无需激活环境)
uv run python script.py

4️⃣ venv --- Python 内置虚拟环境

即便有 uv,理解 venv 原理仍然重要。

bash 复制代码
# 创建
python -m venv .venv

# 激活(每次新终端都要执行)
source .venv/bin/activate

# 退出
deactivate

# 删除(普通目录,直接删)
rm -rf .venv

💡 原理 :.venv 里有个 bin/python 软链指向 pyenv 的 Python,bin/ 目录优先在 $PATH 前,所以 python 和 pip 都指向虚拟环境。


5️⃣ pip 加速配置

bash 复制代码
# 阿里云镜像(国内必配)
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

# 一次性使用
pip install numpy -i https://mirrors.aliyun.com/pypi/simple/

6️⃣ 完整项目脚手架

bash 复制代码
# 一步到位:创建完整项目环境
mkdir my-llm-project && cd my-llm-project
pyenv local 3.12.3
uv venv
source .venv/bin/activate

# 安装依赖
uv pip install -r requirements.txt

# 验证
python --version   # 3.12.3
which python       # /.venv/bin/python

⚠️ 避坑总结

坑 原因 解法
pip install 装到系统 Python 没激活 venv 先 source .venv/bin/activate
切换项目后 Python 版本不对 没设 .python-version pyenv local 3.x.x
pip install 很慢 默认走 pypi.org 配国内镜像
依赖版本冲突 没用 lock 文件 uv pip freeze > requirements.txt
python 找不到 pyenv 没生效 检查 .zshrc 里的 init 命令

📝 今日小结

  • ✅ pyenv 管理 Python 多版本
  • ✅ uv 作为快 100 倍的包管理器
  • ✅ venv 实现依赖隔离
  • ✅ 一套可复现的项目初始化流程
相关推荐
宿州派大星1 小时前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道2 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
行百里er8 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
Smoothcloud润云8 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook8 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴9 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
高频因子挖掘机9 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
诺伦9 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost9 小时前
pytorch学习笔记1
python·学习方法
数字融合10 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机