在项目级别创建 Python 虚拟环境是目前最推荐的做法。
例如你的项目:
text
video_subtitle_project/
├── src/
├── data/
└── venv/
其中 venv/ 就是该项目专属的虚拟环境。
为什么推荐项目级虚拟环境?
1. 依赖隔离
项目 A:
text
Python 3.10
openai==1.30.0
whisper==2025.1
项目 B:
text
Python 3.12
openai==2.0.0
torch==2.8
如果都安装到全局环境,很容易出现:
text
依赖冲突
版本覆盖
运行报错
项目级虚拟环境不会互相影响。
2. 便于迁移
导出依赖:
bash
pip freeze > requirements.txt
别人拿到项目后:
bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
即可恢复环境。
3. VS Code 自动识别
如果目录结构是:
text
video_subtitle_project/
├── .venv/
├── src/
└── requirements.txt
或者:
text
video_subtitle_project/
├── venv/
├── src/
└── requirements.txt
VS Code 的 Python 扩展通常会自动发现并提示使用该环境。
很多团队甚至统一使用 .venv 这个名称。
推荐目录结构
text
video_subtitle_project/
│
├── .venv/
│
├── src/
├── data/
├── tests/
│
├── requirements.txt
├── README.md
└── .gitignore
创建方式
进入项目根目录:
bash
cd video_subtitle_project
创建环境:
bash
python3 -m venv .venv
激活:
Mac/Linux:
bash
source .venv/bin/activate
Windows:
cmd
.venv\Scripts\activate
Git 提交时不要上传虚拟环境
.gitignore 中添加:
gitignore
.venv/
venv/
__pycache__/
*.pyc
否则一个几十 MB 的项目可能变成几 GB。
项目级 venv 和 Conda 环境怎么选?
对于你现在做的:
- 字幕处理
- OpenAI API
- SiliconFlow API
- SRT 翻译
- 普通 Python 开发
推荐:
text
项目级 venv
例如:
bash
python -m venv .venv
简单、轻量、兼容性好。
如果涉及:
- PyTorch
- CUDA
- Whisper 大模型本地推理
- 深度学习训练
则更推荐:
Anaconda 或 Miniconda 的 Conda 环境,例如:
bash
conda create -n pytorch_env python=3.11
conda activate pytorch_env
对于你当前的"视频字幕处理项目",我建议:
text
video_subtitle_project/
├── .venv/
├── input/
├── output/
├── src/
│ ├── transcribe.py
│ ├── translate.py
│ └── merge.py
└── requirements.txt
然后在 VS Code 中选择 .venv/bin/python 作为解释器即可。这是目前 Python 社区最主流的项目管理方式之一。