在项目级别创建 Python 虚拟环境

在项目级别创建 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 社区最主流的项目管理方式之一。

相关推荐
Patrick在香港3 小时前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
YsyaaabB3 小时前
Python 数值分析
python
阿洛学长3 小时前
计算机二级 Python 基本操作题(15 分)真题笔记(0101 ~ 1903 全套)
python·pycharm
weixin199701080164 小时前
[特殊字符]️《二手ERP对接电商平台的总体方案:统一数据模型 + 事件驱动 + 灰度上线6原则》(附Python源码)
大数据·python
滚雪球~4 小时前
量化交易 防止Windows电脑自动更新并重启
python·量化
L@ncor5 小时前
第二章可能出现的问题
人工智能·python
y = xⁿ5 小时前
大模型基础概念
python
ctlover6 小时前
排序与查找算法详解
开发语言·python
用户8356290780516 小时前
如何使用 Python 给 Word 文档添加水印
后端·python
泡干脆面就番茄6 小时前
深度学习:PyTorch框架初识——MNIST手写数字识别
python·深度学习