一、类别
Python 生态里做 “虚拟环境 + 依赖管理” 的工具非常多
1、官方 / 轻量级虚拟环境(只做环境隔离)
1.1、venv(系统自带)
Python 3.3+ 标准库内置,无需额外安装。
只负责虚拟环境创建,依赖用 pip + requirements.txt。
2、集成型:环境 + 依赖一起管(最常用)
2.1、uv
同样 Astral,Rust 写的,极快的依赖解析 + 虚拟环境。
2024 年出来后热度爆炸。
3、科学计算 / 跨语言派系
3.1、Conda
跨语言(Python/R/C++/CUDA),科学计算标配。
环境 + 包管理一体,自带大量预编译二进制包。
二、安装python
Python 3.11.9(Windows版本 推荐)
https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe
三、uv在vscode中的安装
1、在 PowerShell 中运行以下命令
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
2、如果你已经安装了 Python 和 pip,可以直接使用
pip install uv
uv --version
3、运行脚本
uv run python main.py
4、安装包的方式
uv add requests numpy opencv-python
5、uv项目初始化命令
会在当前执行目录下生成以下文件:
├── .venv/ # 自动创建的虚拟环境(核心)
├── pyproject.toml # 项目元数据 + 依赖声明(必选)
├── uv.lock # 依赖锁定文件(自动生成)
├── .python-version # 锁定当前 Python 版本
├── README.md # 项目说明
└── main.py # 主函数
.venv/:等价于 python -m venv .venv,但 uv 自动帮你建好。
pyproject.toml:现代 Python 项目标准配置,替代旧的requirements.txt。
uv.lock:精确记录所有依赖版本,保证团队 / 部署环境一致。
main.py:可直接 uv run main.py 运行。
和 uv venv 的区别
uv venv:只创建 .venv,不管项目文件。
uv init:创建 项目结构 + 虚拟环境 + 锁文件,一站式搞定。
uv init = python -m venv .venv + 手动写 pyproject.toml + 手动建 main.py + 手动生成 lock 文件,一条命令全部自动化。
uv init
6、兼容python自带的虚拟环境配置文件
导入requirement.txt
如果有requirement.txt可用,就导入requirement.txt可用中的依赖到uv中,并随之产生uv.lock文件
uv add -r requirements.txt
7、虚拟环境迁移
要 2 个文件(必须):
pyproject.toml:项目元数据 + 依赖声明
uv.lock:精确锁定所有依赖版本(由 uv 自动生成)
要求目标机器已安装 uv
自动创建 .venv、安装完全一致的版本
uv sync
四、venv在vscode中的安装
1、解决powershell的权限问题
在你当前的 PowerShell 终端(vscode的终端界面)里,直接复制运行这条命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
2、安装.venv的虚拟环境
第一个 venv:固定命令,不能改
第二个 venv:文件夹名,随便改
作用:
Python 调用自带的 venv 工具
在当前目录创建一个叫 .venv 的文件夹
这个文件夹里装了:独立的 Python 解释器、pip、依赖包
python -m venv .venv
3、激活虚拟环境
.venv\Scripts\Activate.ps1
或者
.venv\Scripts\activate.bat
3、安装依赖
3.1、下载依赖
pip install xxx xxx
3.2、对齐依赖信息到配置文件
pip freeze > requirements.txt
4、同步、批量安装依赖
pip install -r requirements.txt
5、验证安装
pip list
6、虚拟环境迁移
6.1、在目标机器上创建新的虚拟环境
python -m venv .venv
6.2、激活环境
.venv/bin/activate
6.3、对齐环境
pip install -r requirements.txt