问题分析
PyCharm 运行项目时,会使用你在 Run Configuration 中配置的 Python 解释器。而当你通过 Git Bash 执行 /**-start.sh 运行脚本时,该脚本会在内部自动创建并使用 .venv 虚拟环境,并安装所有必要的依赖包。
这是两个完全不同的 Python 环境:
| 环境 | 解释器路径 | 依赖包位置 | 依赖状态 |
|---|---|---|---|
| 脚本启动 | `backend/.venv/Scripts/python.exe` | `backend/.venv/Lib/site-packages` | |
| PyCharm 运行 | `D:\anaconda3\python.exe` | `D:\anaconda3\Lib\site-packages` |
解决方案:让 PyCharm 使用 `.venv` 虚拟环境
步骤 1:先在终端创建并安装依赖
打开 "Git Bash" 或 "PyCharm Terminal",执行:
cd backend
# 如果 .venv 不存在,创建它
python -m venv .venv
# 激活虚拟环境
# Windows Git Bash:
source .venv/Scripts/activate
# 或 Windows CMD/PowerShell:
.venv\Scripts\activate
# 安装所有依赖
pip install -r requirements.txt
步骤 2:在 PyCharm 中配置使用 .venv
1. 打开 PyCharm 设置
- `File` → `Settings`(或 `Ctrl + Alt + S`)
2. 进入 Python 解释器配置
- `Project: smart-printing-agent` → `Python Interpreter`
3. 添加现有虚拟环境
-
点击右上角齿轮 ⚙️ 图标 → `Add`
-
选择 `Existing environment`
-
Interpreter 路径选择:`backend\.venv\Scripts\python.exe`
-
点击 `OK`
4. 确认依赖包
- 此时你应该能看到 `.venv` 中已安装的所有依赖包列表
5. 编辑 Run Configuration
-
点击 PyCharm 顶部工具栏的运行配置下拉菜单 → `Edit Configurations`
-
确保选中的 Python interpreter 是 `backend\.venv\Scripts\python.exe`
-
确保 Working directory 是 `backend`
步骤 3:验证
配置完成后,PyCharm 右下角应该显示 `Python 3.12 (.venv)` 或类似的虚拟环境名称。
再次点击运行按钮,就不会再报依赖缺失了。
补充:如果 .venv 不存在
如果你的 `scripts/start-dev-all.sh` 之前已经创建了 `.venv`,但在 PyCharm 中看不到,可能是因为:
1. `.venv` 在 `backend/` 目录下(不在项目根目录)
2. PyCharm 项目根目录设置不同
检查一下 `backend/` 目录下是否存在 `.venv` 文件夹:
bash
ls backend\.venv
如果存在,直接在 PyCharm 中指向 `backend\.venv\Scripts\python.exe` 即可。