🐍 Recipe 1: Python 与 Pip 关系
核心定位
| 组件 | 职责 | 本质 |
|---|
| Python | 引擎(解释器) | 运行代码的核心程序 |
| pip | 包管理器 | 从 PyPI 下载并安装第三方库的 Python 包 |
python -m pip pip:pip 本身也是一个 Python 包,通过 调用比直接用 更安全,能确保使用特定 Python 版本对应的 pip。
🛠️ Recipe 2: 修复 "Pip Not Found"
如果 python 可用但 pip 报 "command not found",通常是 Scripts 文件夹未加入 PATH。
方案一:快速修复
py -m pip --version
方案二:重新安装 pip
python -m ensurepip --upgrade
方案三:永久修复 — 手动添加 Scripts 到 PATH
📂 Recipe 3: Python 目录结构解析
标准 Windows 安装目录(例如 C:\Python312\)结构:
| 目录/文件 | 作用 |
|---|
| python.exe | 核心引擎(解释器) |
| Lib\ | 标准库(os、sys、math 等预装工具) |
| Lib\site-packages\ | pip 安装第三方库的位置(requests、pandas 等) |
| Scripts\ | 可执行工具(pip.exe、black.exe、pytest.exe) |
| Include\ | C 头文件,用于编译 Python 扩展 |
🗺️ Recipe 4: PATH vs. PYTHONPATH
| 变量 | 作用 | 使用场景 |
|---|
| Path | 告诉 Windows 在哪找 .exe 文件 | 输入 python 或 pip 命令 |
| PYTHONPATH | 告诉 Python 在哪找 .py 模块 | 仅用于自定义/本地模块(非常规场景) |
🌟 Recipe 5: 虚拟环境(最佳实践)
避免污染全局 PATH,推荐使用虚拟环境:
# 创建虚拟环境
python -m venv .venv
# 激活(Windows)
.\.venv\Scripts\activate
📦 Recipe 6: uv 全局能力
uv 是一个用 Rust 编写的极速 Python 包管理器,与 pipx 协同工作。
~/.local/bin 是什么?
在 Windows 上,~/.local/bin(即 C:\Users\用户名\.local\bin)是跨平台开发工具写入的类 Unix 风格路径。
哪些软件会写入此目录?
| 软件 | 说明 |
|---|
| pipx | Python 终端应用安装工具,默认将可执行文件放在此目录 |
| Claude Code | Anthropic CLI 工具安装位置 |
| 跨平台安装脚本 | Rust、Node.js 等工具的快捷安装脚本 |
为什么不在系统 PATH 中?
%APPDATA%\Python\Scripts %LOCALAPPDATA%\Programs~/.local/bin- 安装程序为避免破坏 shell 配置,不会自动修改 PATH
解决方案
pipx ensurepath
🔧 Recipe 7: Python 环境变量速查
| 变量 | 作用 | 常见值 |
|---|
| PATH | 查找 python.exe、pip.exe 等可执行文件 | C:\Python312\;C:\Python312\Scripts\ |
| PYTHONPATH | Python 导入模块的搜索路径 | C:\MyModules\ |
| PYTHONHOME | Python 安装根目录 | C:\Python312\ |
| PYTHONCASEOK | 忽略模块名大小写(Windows 用) | 1 |
⚡ Recipe 8: 高频命令速查
| 操作 | 命令 |
|---|
| 检查 Python 版本 | python --version |
| 检查 pip 版本 | python -m pip --version |
| 安装包 | python -m pip install 包名 |
| 升级 pip | python -m pip install --upgrade pip |
| 列出已安装包 | pip list |
| 创建虚拟环境 | python -m venv .venv |
| 激活虚拟环境 | .\.venv\Scripts\activate |
| 导出依赖 | pip freeze > requirements.txt |
| 从文件安装 | pip install -r requirements.txt |