【PyCharm】让 PyCharm 使用 .venv 虚拟环境

问题分析

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` 即可。

相关推荐
修远客1 小时前
感知模块:Agent的眼睛和耳朵 — 三层降级策略让Agent永不"失明"
python·agent
circuitsosk2 小时前
Prompt Engineering进阶:面向复杂业务场景的模板化管理与动态注入策略
python·langchain·prompt·跨境电商·rag·上下文管理·动态注入
User_芊芊君子2 小时前
STT + LLM + TTS:用一条流水线搓了个中英双向翻译助手
ide·macos·xcode
Livia要学习2 小时前
Python闭包
开发语言·jvm·python
FriendshipT3 小时前
Ultralytics:解读 YOLO26 知识蒸馏
人工智能·pytorch·python·深度学习·yolo
BUG研究员_3 小时前
工具绑定与调用
python·agent
苏灿烤鱼3 小时前
AI Agent 深拆 | 图能让 AI 决策可追责吗?Semantica 登顶拆解
python·github·agent
Sirius.z11 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜11 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string