2026最新保姆级教程:Windows 下使用 uv 从零配置 Python (OpenCV) 环境指南

Windows 下使用 uv 从零配置 Python (OpenCV) 环境指南

本文档适用于在一台全新的 Windows 电脑上,使用 uv 快速配置vscode + Python 3.10 开发环境,并安装 OpenCV 库。同时包含关于 uv 的进阶说明。

B站配套视频 2026最新:使用uv管理python&opencv

🟢 第一步:安装 uv 包管理器

既然电脑上什么都没有,我们需要先安装这个核心工具。

  1. 按下 Win + R 键,输入 powershell,按回车打开终端。
  2. 复制并粘贴以下命令,按回车运行(三选一):
    • 或者进如 uv 下载链接 找到 uv-x86_64-pc-windows-msvc.zip 下载解压后,将包含 uv.exe 的文件夹路径(例如 D:\tools\uv)添加到系统环境变量的 Path 中。
  3. 安装完成后,关闭并重新打开 PowerShell 窗口。

配置国内镜像源
由于官方源服务器在国外,为了解决下载速度慢、连接超时的问题,建议配置 uv 使用国内镜像源(清华源)。请直接复制下方所有代码,在 PowerShell 终端中一次性粘贴并回车运行:

# 1. 创建配置目录(如果不存在)New-Item-Path "$env:APPDATA\uv"-ItemType Directory -Force # 2. 写入配置内容到 uv.toml (使用清华源)$content = @" [[index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" default = true "@ Set-Content-Path "$env:APPDATA\uv\uv.toml"-Value $content

运行完成后,您的 uv 全局下载配置即已更新为清华源。

验证安装:

uv --version 

(如果看到版本号,说明安装成功)

如果你电脑上已经安装了 Python,也可以直接通过镜像站下载:

pip install uv -i https://pypi.tuna.tsinghua.edu.cn/simple 

如果有魔法:

irm https://astral.sh/uv/install.ps1 |iex

🟡 第二步:创建项目并初始化

我们不使用全局环境,而是为每个项目创建一个独立环境(这是最佳实践)。

  1. 在电脑上新建一个文件夹(例如 my-opencv-project)。
  2. 打开 VS Code
  3. 点击菜单栏 File (文件) -> Open Folder (打开文件夹),选择刚才新建的文件夹。
  4. 使用快捷键 Ctrl + ~ (Esc 下面那个波浪号键) 打开 VS Code 内置终端。
  5. 在终端依次输入以下命令:

指定 Python 版本为 3.10

uv python pin 3.10 

(uv 会自动为你下载并管理 Python 3.10,无需你去官网下载)

修改.toml文件

[project] name = "vision-winer-camp" version = "0.1.0" description = "Add your description here" requires-python = ">=3.10" dependencies = [ "opencv-python>=4.12.0.88", ] 

初始化项目

uv init 

🔵 第三步:安装 OpenCV

继续在终端中输入

uv add opencv-python 

(uv 会自动创建虚拟环境 .venv 文件夹,并将 OpenCV 及其依赖(如 NumPy)安装进去)


🟣 第四步:进阶理解 (配置文件与同步)

在使用 uv 时,理解以下两个概念非常重要。

1. 核心配置文件:pyproject.toml

当你执行 uv inituv add 后,根目录下会自动生成一个 pyproject.toml 文件。这就是你的“项目说明书”。

示例文件内容如下:

[project] name = "my-opencv-project" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.10" dependencies = [ "opencv-python>=4.10.0.84", ] 
作用:这个文件告诉 uv,你的项目叫什么,需要什么 Python 版本,以及依赖哪些库。如果你把代码发给同学,他们只需要有这个文件,就能还原出和你一模一样的环境。

2. 环境同步命令:uv sync

uv sync 是 uv 中最强大的命令之一,它的作用是 “让你的虚拟环境 (.venv) 与 锁定文件 (uv.lock) 保持绝对一致”

什么时候使用 uv sync

场景二:手动修改了配置文件
如果你手动打开 pyproject.toml,在 dependencies 里加了一行 "requests",保存后环境里并不会自动有这个包。
此时,运行:

uv sync 

uv 会检测到变化,并把 requests 安装进去。

场景一:刚下载别人的代码
你从 GitHub 上克隆了一个项目,或者同学发给你一个压缩包。你电脑上还没有 .venv 文件夹。
此时,只需运行:

uv sync 

uv 会自动读取配置文件,下载 Python,安装所有依赖,一键配好环境。


🔴 第五步:配置 VS Code 识别环境

虽然环境装好了,但 VS Code 可能还不知道。

  1. 检查右下角
    打开项目里的 mian.py 文件,看 VS Code 右下角是否显示 3.10.x ('.venv': venv)
  2. 手动选择 (如果没显示)
    • Ctrl + Shift + P 打开命令面板。
    • 输入并选择 Python: Select Interpreter
    • 在列表中选择带有 ('.venv')Recommended 字样的选项。

⚫ 第六步:编写代码测试

修改项目中的 main.py 文件,内容如下:

import cv2 import sys import numpy as np defmain():print("-"*30)print(f"Python 版本: {sys.version.split()[0]}")print(f"OpenCV 版本: {cv2.__version__}")# 测试 NumPy (OpenCV 通常会自动安装它)try:# 创建一个 100x100 的黑色图像 img = np.zeros((100,100,3), dtype=np.uint8)print("✅ NumPy 配合正常,虚拟图像创建成功。")except Exception as e:print(f"❌ 出错: {e}")print("-"*30)if __name__ =="__main__": main()

运行代码

在终端输入:

uv run main.py 

预期结果

------------------------------ Python 版本: 3.10.x OpenCV 版本: 4.x.x ✅ NumPy 配合正常,虚拟图像创建成功。 ------------------------------ 

By: Balrog-v

Read more

【C++】C++ 重载深度解析:赋值运算与取地址运算符,你真的会了吗?

【C++】C++ 重载深度解析:赋值运算与取地址运算符,你真的会了吗?

🔭 个人主页:散峰而望 《C语言:从基础到进阶》《编程工具的下载和使用》《C语言刷题》 《C++》《算法竞赛从入门到获奖》《人工智能》《AI Agent》 愿为出海月,不做归山云 🎬博主简介 【C++】C++ 重载深度解析:赋值运算与取地址运算符,你真的会了吗? * 前言 * 1. 赋值运算符重载 * 1.1 运算符重载 * 1.2 赋值运算符重载 * 2. 取地址运算符重载 * 2.1 const成员函数 * 2.2 取地址运算符重载 * 结语 前言 在C++中,运算符重载是一项强大的特性,允许开发者自定义运算符的行为,使其适用于用户定义的类型。赋值运算符(operator=)和取地址运算符(operator&)是其中两个关键的重载目标,但它们的实现细节和潜在陷阱往往容易被忽视。

By Ne0inhk
C++ ODB ORM 完全指南:从入门到实战应用

C++ ODB ORM 完全指南:从入门到实战应用

文章目录 * ODB基本概念 * ODB框架安装 * 常见操作 * ODB类与接口 * 测试示例 ODB基本概念 ODB 是一个针对 C++ 的对象关系映射(ORM)库,它允许开发者以面向对象的方式操作数据库,将C++ 对象与数据库表进行映射,从而避免直接编写 SQL 语句,简化数据库操作。 特点: * 对象 - 关系映射:将 C++ 类映射到数据库表,类的成员变量映射到表的字段,对象的创建、修改、删除等操作会自动转换为对应的数据库操作(如 INSERT、UPDATE、DELETE)。 * 代码生成机制:ODB 不依赖运行时反射(C++ 本身不支持),而是通过编译期代码生成实现映射:开发者使用特殊的注解(如 #pragma db object)标记需要持久化的类,然后通过 ODB 编译器生成与数据库交互的代码(

By Ne0inhk
从智能体到交易引擎:基于 OpenClaw 架构构建 C++ 版 QuantClaw 实战指南

从智能体到交易引擎:基于 OpenClaw 架构构建 C++ 版 QuantClaw 实战指南

从智能体到交易引擎:基于 OpenClaw 架构构建 C++ 版 QuantClaw 实战指南 摘要:2026 年初,OpenClaw 以其模块化的“网关 - 智能体 - 技能 - 记忆”架构席卷 AI 社区。与此同时,量化交易领域长期缺乏轻量级、高性能且易于扩展的 C++ 原生框架。本文提出 QuantClaw 概念——一个借鉴 OpenClaw 设计哲学,专为高频与中低频量化交易打造的 C++ 复刻版框架。我们将深入探讨如何将 OpenClaw 的事件驱动机制、技能插件系统迁移至 C++ 环境,并针对金融低延迟场景进行优化,实现从“AI 助手”到“交易大脑”的跨界进化。

By Ne0inhk
C++ 网络编程入门:TCP 协议下的简易计算器项目

C++ 网络编程入门:TCP 协议下的简易计算器项目

个人主页:chian-ocean 文章专栏-Linux 网络编程入门:TCP 协议下的简易计算器项目 * 个人主页:chian-ocean * 文章专栏-Linux * 前言: * 文件组成 * TCP服务端 * `TcpServer.hpp` * 代码说明: * `TcpServer.cc` * 代码说明: * TCP客户端 * 代码说明: * 计算器 * 代码说明: * 1. **`ServerCal` 类**: * 2. **`Calculatate(Requset &req)` 函数**: * 3. **`Calculator(std::string &package)` 函数**: * 请求和响应服务 * 代码总结: * 1. **`Encode` 和 `Decode`**: * 2. **`Requset` 类**: * 3. **`Response` 类*

By Ne0inhk