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

相关推荐
1024奇点9 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
实名上网宋凯宣9 小时前
Django
后端·python·django
如若12311 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
砚底藏山河12 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新12 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员13 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
Ramble_Naylor14 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
Allen_LVyingbo15 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
云和数据.ChenGuang15 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
我命由我1234517 小时前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee