.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 不会一直报 pydantic、fastapi 找不到,也方便你本地跑一些脚本或测试。
.venv 本身不要提交到 Git,提交 requirements.txt 就够了。
1394

被折叠的 条评论
为什么被折叠?



