python项目中 .venv 目录是做什么的

.venv 是这个 Python 项目的本地虚拟环境目录。它的作用是:给当前项目单独准备一套 Python 解释器和依赖包,避免污染系统 Python,也避免不同项目之间依赖版本冲突。

比如你的项目需要:

pydantic==2.10.4
fastapi
uvicorn
sqlalchemy

这些包就会安装到:

.venv\Lib\site-packages

而不是安装到系统 Python 里面。


.venv 里面常见内容:

.venv/
├─ Scripts/
│  ├─ python.exe      # 当前虚拟环境的 Python 解释器
│  ├─ pip.exe         # 当前虚拟环境的 pip
│  └─ activate        # 激活脚本
├─ Lib/
│  └─ site-packages/  # 安装的第三方包
└─ pyvenv.cfg         # 虚拟环境配置

你真正要给 PyCharm 选的是这个:

项目目录\.venv\Scripts\python.exe

常用方式有两种。

方式一:激活 .venv 后使用

进入项目目录:

cd D:\phpstudy_pro\WWW\zhilin\aigc_python_fastapi\htdocs\aigc_all_project\fastapi

激活虚拟环境:

.\.venv\Scripts\Activate.ps1

激活成功后,命令行前面通常会出现:

(.venv)

然后执行:

python -m pip install -r requirements.txt

安装单个包:

python -m pip install pydantic==2.10.4

查看当前 Python 是不是 .venv

python -c "import sys; print(sys.executable)"

应该输出类似:

...\fastapi\.venv\Scripts\python.exe

退出虚拟环境:

deactivate

方式二:不激活,直接指定 .venv 的 Python

这个最稳,不容易装错地方:

.\.venv\Scripts\python.exe -m pip install -r requirements.txt

安装单个依赖:

.\.venv\Scripts\python.exe -m pip install pydantic==2.10.4

运行项目:

.\.venv\Scripts\python.exe main.py

如果是 FastAPI:

.\.venv\Scripts\python.exe -m uvicorn main:app --reload

如果 .venv 不存在,可以创建:

python -m venv .venv

或者指定版本:

py -3.11 -m venv .venv

创建后再安装依赖:

.\.venv\Scripts\python.exe -m pip install -U pip
.\.venv\Scripts\python.exe -m pip install -r requirements.txt

PyCharm 里的用法是:

Settings
→ Project: fastapi
→ Python Interpreter
→ Add Interpreter
→ 添加本地解释器
→ Existing environment
→ 选择 .venv\Scripts\python.exe

选好以后,PyCharm 的代码提示、包检查、运行配置都会使用这个 .venv


你这个项目如果实际运行完全靠 Docker,那 Docker 容器里也有一套自己的 Python 和依赖。此时:

Docker 里的依赖 = 真正运行项目用
本地 .venv 的依赖 = 给 PyCharm 代码提示、本地调试、本地运行用

所以本地 .venv 不是必须,但建议保留。这样 PyCharm 不会一直报 pydanticfastapi 找不到,也方便你本地跑一些脚本或测试。

.venv 本身不要提交到 Git,提交 requirements.txt 就够了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时空旅行者666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值