问题起因:Claude Code在执行代码时需要系统中有可用的Python解释器,但个人习惯了用 uv + venv 的方式管理项目的python环境,且因为uv的缓存磁盘设在D盘,如果使用system方式或默认位置创建环境,venv可能落在C盘,与uv缓存不在同一磁盘而导致无法使用硬链接提升包管理效率。故需要手动在D盘创建一个供Claude使用的python独立环境。

问题解决:在D盘(与uv缓存同盘)找个空目录(例如D:/WorkApplication/Python),使用uv venv --python 3.12 D:/WorkApplication/Python命令创建虚拟环境,然后在~/.claudeC:\Users\<你的用户名>\.claude目录下创建CLAUDE.md写入下述内容(注意将路径替换为实际venv的Scripts/python.exe位置),让Claude能读取该配置引入使用创建的环境即可。需要预装依赖时,使用uv pip install --python D:/WorkApplication/Python/Scripts/python.exe <包名>安装到该环境。

## Python 环境与依赖管理规范

### 核心原则
- 项目有 .venv 或 pyproject.toml → 使用项目环境(不加 --python)
- 否则 → 显式指向全局虚拟环境(必须加 --python)
- 始终通过 uv 命令隐式/显式指定环境,禁止手动激活

### 运行脚本 / 执行代码

#### 1. 运行脚本文件(直接跟文件名)
# 项目环境(当前目录或父目录存在 .venv 或 pyproject.toml)
✅ uv run python script.py

# 全局环境(无项目环境时)
✅ uv run --python D:/WorkApplication/Python/Scripts/python.exe script.py

#### 2. 执行内联代码(必须显式写 python -c 作为子命令)
# 项目环境
✅ uv run python -c "print('hello')"

# 全局环境
✅ uv run --python D:/WorkApplication/Python/Scripts/python.exe python -c "print('hello')"

### 安装依赖

# 项目环境
✅ uv pip install <package>
✅ uv add <package>                      # 推荐:自动写入 pyproject.toml

# 全局环境(无项目环境时)
✅ uv pip install --python D:/WorkApplication/Python/Scripts/python.exe <package>

### ⚠️ 绝对禁止
- 禁止在 --python 路径中使用反斜杠 \(会被 shell/uv 转义导致路径失效)
- 禁止在执行内联代码时省略 python 子命令(必须写 `python -c` 而非直接 `-c`)
- 禁止手动 source activate / conda activate / .\venv\Scripts\activate
- 禁止使用裸 python / pip 命令
- 禁止使用 --system 标志
- 禁止在无项目环境时省略 --python 全局路径
- 禁止在有项目环境时强行指定全局 --python 路径

验证配置是否生效:

uv run --python D:/WorkApplication/Python/Scripts/python.exe python -c "import sys; print(sys.executable)"
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐