Windows下AI编程环境搭建实战:Python、Docker与本地大模型全配置
2026/9/14 9:13:58 网站建设 项目流程

先说结论:Windows现在完全可以作为AI编程的主力平台,不用再羡慕Mac和Linux用户。我在这台主力机上把Python环境、容器服务、大模型调用和AI编码助手全部跑通,前前后后折腾了大概一个周末,期间踩了不少坑,也总结出一套相对稳定的搭建路径。这篇东西就是你照着做一遍就能用的操作手册,不是理论分析,每一行命令都是我在Windows 11上实测通过的。

这篇文章适合谁?刚入手AI编程的新手,想在Windows上把环境一次装对的开发者,以及准备接大模型API、想跑本地模型的同学。我会沿着“先装基础工具链 → 再配Python环境 → 然后上Docker和中间件 → 最后接入AI工具”的顺序来写,遇到容易出问题的点都会单独拎出来说明。

1. 整体思路:为什么从零搭建,而不是直接一键安装全家桶

很多人觉得AI编程环境无非就是装个Python、装个IDE,再装个插件就完事了。实际上等你真正要跑大模型接口、部署向量数据库、用容器隔离服务、甚至本地推理一个小模型时,就会发现每个环节都有可能踩坑。直接装全家桶看似省事,出了问题你不知道是哪一层坏了。从零一步步搭,每个环节都验证过,后续排错效率反而高得多。

我的整体选型是这样的:

层级选用方案理由
操作系统Windows 11 Pro 23H2对WSL2和Docker Desktop支持最成熟
终端Windows Terminal支持多标签、兼容PowerShell和WSL
包管理winget + conda系统级和Python环境级分开管理
Python环境Miniconda环境隔离方便,AI项目环境说换就换
编辑器VS Code + 插件轻量、插件生态全、AI插件兼容性好
容器Docker Desktop跑Redis、Elasticsearch等中间件最省心
AI工具Ollama + 大模型API + AI编码插件兼顾本地推理和云端大模型两条路线

这里有个关键选择要解释一下:Python环境我选Miniconda而不是直接装Anaconda。Anaconda太大,自带一大堆你用不到的包,Miniconda只是轻量环境管理,需要什么再装什么。AI项目非常吃环境隔离,今天这个项目要Python 3.10,明天那个要3.11,用conda建独立环境是成本最低的方案。

另一个选择是Docker Desktop而不是直接用WSL2裸奔。Docker的好处在于服务级别的隔离,Redis、Elasticsearch这些中间件跑在容器里,不污染Windows宿主机,删除也干净。后面我会详细说怎么配Docker的镜像加速,不然拉镜像能等哭。

2. 动手前的基础准备:把地基打牢

2.1 确认系统版本和虚拟化状态

第一步先确认系统版本。Win+R 输入winver,确认是Windows 10 21H2以上或者Windows 11。如果你是Windows 10老版本,建议先升级系统,否则后面WSL2和Docker会非常痛苦。

然后确认虚拟化有没有开。打开任务管理器 → 性能 → CPU,看右下角“虚拟化”是否显示“已启用”。如果显示“未启用”,需要进BIOS开启Intel VT-x或者AMD-V。这一步不做,Docker Desktop根本装不上WSL2后端。

确认完虚拟化之后,用管理员身份打开PowerShell,输入下面命令启用WSL功能:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启系统。重启后建议把WSL更新到2.x版本:

wsl --update wsl --set-default-version 2

如果你不太确定自己当前的WSL版本,可以跑wsl --status查看。这个命令输出里能看到默认版本和内核信息,确认是2.x就可以往下走了。

2.2 安装Windows Terminal和Git

Windows Terminal不只是好看,它解决了一个实际问题:编码问题。老版cmd和PowerShell在某些中文路径、中文输出场景下乱码概率高,Windows Terminal对UTF-8的支持好得多,后面跑Python输出中文日志时你就能体会到差别。

安装直接用winget:

winget install Microsoft.WindowsTerminal winget install Git.Git

Git装完之后,建议设置几个全局变量,避免中文路径和换行符的坑:

git config --global user.name "你的名字" git config --global user.email "你的邮箱" git config --global core.autocrlf true git config --global init.defaultBranch main

core.autocrlf true在Windows上是必须的,它会在提交时把CRLF转成LF,检出时再转回来。不设置这个,在Windows上克隆下来的Shell脚本经常报/bin/bash^M这类错误,你排查半天才发现是换行符的问题。

2.3 配置包管理器镜像源

这一步很多人会忽略,但对下载速度影响巨大。pip、conda、npm默认源在国外,国内网络环境下下载大包极其折磨。我习惯在装完环境后第一时间把源切到清华镜像,这一步能省下大量时间。

pip换源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn

npm换源:

npm config set registry https://registry.npmmirror.com

conda换源我放到下一节讲,因为跟Miniconda安装绑定在一起。

3. 核心环节一:Miniconda和Python虚拟环境

3.1 Miniconda安装要点

去Miniconda官网下载Windows x86_64安装包,注意选Python 3.11或3.12版本对应的安装包。安装时有几个选项要特别注意:

  • “Install for”选择“All Users”,避免权限问题
  • 安装路径不要带空格和中文,建议直接C:\miniconda3
  • “Add Miniconda3 to my PATH environment variable”这个选项,安装程序默认不勾选,建议直接取消。因为conda自己提供“Anaconda Prompt”入口,加到系统PATH反而容易跟其他Python产生冲突

安装完成后,打开Windows Terminal,先执行一次conda init powershell初始化Shell,然后重启终端。这样能让你直接在普通的PowerShell窗口里用conda命令,不用每次打开Anaconda Prompt。

3.2 conda换源和环境创建

换源执行:

conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set channel_alias https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后创建一个专用的AI环境,这一步是核心操作:

conda create -n ai_env python=3.11 conda activate ai_env

进入环境后,把常用依赖一次性装好。

pip install jupyter notebook pip install requests httpx pip install openai pip install pypdf pip install faiss-cpu pip install pandas numpy matplotlib

关于Python版本我多说一句:目前很多AI SDK库对Python 3.12的兼容性在逐步完善,但保守方案还是用3.11,踩坑概率最低。特别是如果你打算跑一些老项目,3.11比3.12稳得多。3.10也可以,但3.11性能稍有提升,除非项目明确要求3.10,否则直接3.11。

3.3 验证Python环境是否可用

装完环境后,不要急着往下走,先花两分钟验证一下,避免后面把问题怪到错误的地方。

python --version pip --version conda info --envs

再跑一段真正调用第三方库的代码,确认库装好了:

import openai import pandas as pd print("AI environment is ready")

如果这段代码能正常输出,说明Python环境是健康的,接下来装的工具就算出问题也只能是工具自己的问题,排错范围就缩小了。

4. 核心环节二:VS Code编程环境与AI插件

4.1 VS Code安装和核心配置

VS Code用winget装:

winget install Microsoft.VisualStudioCode

安装时勾选“添加到PATH”和“添加到资源管理器右键菜单”,后面你右键文件夹就能直接用VS Code打开,这个体验差别很大。

装完先打开设置面板(Ctrl+,),把下面几条写入settings.json:

{ "editor.fontSize": 16, "editor.formatOnSave": true, "files.eol": "\n", "terminal.integrated.defaultProfile.windows": "PowerShell", "python.defaultInterpreterPath": "C:\\miniconda3\\envs\\ai_env\\python.exe", "python.terminal.activateEnvironment": true }

files.eol设为\n能避免在Windows上写Shell脚本时出现换行符问题,这是我从实际踩坑中总结出来的,强烈建议设置。python.defaultInterpreterPath直接指定到conda环境的Python路径,避免VS Code自动选中全局Python导致包找不到。

插件市场搜下面几个,装完就能用了:

  • Python(微软官方出品,包含Pylance语言服务)
  • Jupyter(在编辑器里跑.ipynb文件)
  • Docker(管理容器和镜像的可视化工具)
  • GitLens(Git历史查看神器)
  • 以及任意一个AI辅助编码插件,比如GitHub Copilot、Codeium等,我后面单独讲AI工具选型。

4.2 在VS Code里跑通第一个AI脚本

环境装好了,总得验证一下全链路通不通。写一个最简单的调用大模型API的脚本,这个脚本我建议保留,后续排查问题很有用。

假设你用的是OpenAI兼容接口,先安装openai库,然后写:

from openai import OpenAI client = OpenAI( api_key="你的API密钥", base_url="你的API基础地址" ) response = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": "你是一个乐于助人的AI助手。"}, {"role": "user", "content": "用一句话介绍你自己。"} ] ) print(response.choices[0].message.content)

注意这里的base_url,现在很多大模型服务商都提供OpenAI兼容格式的接口,你只需要把base_url换成服务商提供的地址,代码结构完全不用变。这个兼容特性极大降低了切换模型的成本。

跑通这个脚本,意味着你的Python环境、网络通联、API认证整条链路都没问题,后面再装其他AI工具就是锦上添花了。

4.3 AI编程插件的选择心得

AI编程插件现在选择很多,我的建议是别贪多,装一个主力的就够。装太多反而互相干扰,有时候多个插件同时补全代码,编辑器都会卡。

我实测下来的感受是:如果日常写Python和JS,GitHub Copilot的中文注释理解、上下文感知目前还是第一梯队。如果不想付费,Codeium和通义灵码也够用。重点在于要知道AI编码插件的使用技巧,不是装完就会:

  • 写函数前先写清楚英文或中文注释,补全质量会明显提升
  • 让AI补全重复性代码块时,先写四五行示例,让它模仿风格
  • 遇到复杂逻辑不要指望一次性补全,先让AI生成框架,再手动填充细节

AI编码插件的本质是“比你更懂代码库的自动补全助手”,它需要上下文越清晰,输出才越准确。我见过太多人装了Copilot又说它“弱智”,其实多数时候是提示词太模糊了。

5. 核心环节三:Docker Desktop和中间件部署

5.1 Docker Desktop安装全过程

Docker在Windows上的版本很关键,建议直接用Docker Desktop官方安装包,它会把Docker Engine、Kubernetes、Compose全都集成好。下载时注意选择对应架构的安装包,一般就是AMD64版本。

安装前再次确认WSL2已经就绪,因为Docker Desktop默认使用WSL2后端,比旧版的Hyper-V后端启动快、资源占用低。安装向导里有一个“Use WSL 2 instead of Hyper-V”的勾选框,默认是勾上的,不要取消。

安装完启动Docker Desktop,第一次启动可能比较慢,大概等1到2分钟,看到鲸鱼图标不再跳动就说明引擎起来了。用命令验证:

docker version docker compose version

如果docker version报错,多半是WSL2内核没更新,重新执行一遍wsl --update再重启就好。

5.2 镜像加速配置

Docker Desktop在Windows下配置镜像加速,位置在Settings → Docker Engine,这是很多人找半天找不到的地方。打开后能看到一个JSON配置文件,修改registry-mirrors字段:

{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.1panel.live" ] }

修改后点击“Apply & Restart”。这一步做完,拉取公共镜像的速度会有质的提升。我自己实测下来,用这个配置拉redis镜像,从几十KB每秒提升到了几MB每秒。

5.3 用Docker部署Redis和Elasticsearch

装Docker最大的用途就是跑中间件。Redis在Windows上原生支持一直不稳定,官方也不提供Windows安装包,Docker容器是当前Windows上跑Redis的最优解。

启动Redis:

docker run -d --name redis-server -p 6379:6379 redis:7.2

启动后验证:

docker ps docker exec -it redis-server redis-cli ping

如果返回PONG,说明Redis已经正常工作了。

Elasticsearch的部署需要注意JDK版本问题。ES 8.x自带了捆绑的JDK,但如果你用ES 7.x,对Java环境和系统参数比较敏感。推荐直接用ES 8.x,一条命令搞定:

docker run -d --name es-server -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" docker.elastic.co/elasticsearch/elasticsearch:8.10.0

这里discovery.type=single-node是单机模式,不需要配置集群发现,适合本地开发。第一次冷启动会比较慢,等大约30秒后访问http://localhost:9200,能看到返回JSON信息就对了。

5.4 Docker资源限制配置

AI开发经常要同时跑容器和本地模型,资源很容易吃紧。Docker Desktop在Settings → Resources里可以设置CPU和内存上限,我的建议是:

  • 内存给到8GB以上,但不要超过本机物理内存的70%
  • CPU给4核以上
  • Swap保持默认1GB

如果你要跑ES、MySQL、Redis、Nginx一整套中间件,还得考虑给Docker预留端口冲突排查的时间。端口被占用是非常常见的启动失败原因,下面排查部分会专门说。

6. 大模型本地推理与API调用全流程

6.1 Ollama安装和模型拉取

AI编程环境只调云端API显然不能满足所有场景,有些项目需要在本地跑模型做离线推理。Ollama是目前在Windows上跑本地大模型最省事的工具,安装包直接下载安装,装完在终端里就能用。

下载安装之后先确认服务:

ollama --version ollama serve

然后拉一个适合本地推理的中小模型。我的推荐是Qwen2.5 7B,原因是它在中文任务、代码理解上表现均衡,显存和内存占用也比较友好:

ollama pull qwen2.5:7b

拉取完成后试一下对话:

ollama run qwen2.5:7b "帮我写一个Python快速排序"

这里有个经验分享:对于配置一般的电脑(16GB内存、无独显),跑7B模型是可以接受的,但别指望速度和云端比。如果只是做代码补全和简单问答,3B模型响应更快。本地推理的意义不在于替代云端大模型,而在于数据不出本机、无网络延迟、不用按Token计费。

6.2 通过Python调用Ollama

直接用Ollama的命令行交互只是第一步,真正的AI编程环境需要在代码里调用它。Ollama提供了兼容OpenAI的API接口,你可以在任何语言里通过HTTP请求调用:

import requests import json response = requests.post( "http://localhost:11434/api/generate", json={ "model": "qwen2.5:7b", "prompt": "用Python写一个装饰器,统计函数执行时间", "stream": False } ) result = response.json() print(result["response"])

这个API默认绑定localhost,不用密钥,完全离线,数据不出本机。在需要处理敏感数据或想控制成本的场景下非常实用。

6.3 AI编程Agent工具链

2026年了,AI编程环境拼的不只是自动补全,还有能自主执行多个步骤的AI Agent工具。目前比较常见的是Codex桌面版这类工具,可以直接在Windows桌面运行,能读取你的代码库、执行命令、改文件,本质上是一个会写代码的“初级开发实习生”。

这类Agent类工具我用下来的建议是:

  • 首次使用时给它的是一个“只读预览模式”,让它先看代码库结构,别一上来就允许它随便改文件
  • 每一步操作要明确限制范围,比如“只修改src目录下的文件”,避免它改坏配置文件
  • 代码生成完成不代表结束,必须自己过一遍CRUD逻辑

AI Agent本质上是在你监督下自动执行重复性编码任务,用得好的话能把编码效率提升一个档次,但完全放权还是等等再说。

7. 常见问题排查与避坑实录

7.1 conda命令闪退或找不到

PowerShell下输入conda命令后窗口闪退,十有八九是环境变量没初始化。解决办法是重新执行:

conda init powershell

然后完全关闭终端窗口,重新打开。如果还是闪退,检查Miniconda安装路径是否包含特殊字符,包含中文或空格的话建议重装到纯英文路径。

7.2 PowerShell脚本执行策略受限

跑某些安装脚本时提示“禁止运行脚本”,这是因为Windows默认的ExecutionPolicy是Restricted。临时放开,只对当前用户生效:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

这个命令执行后当前用户的脚本策略会放宽,但不会影响到系统安全设置,属于开发机器的常规操作。

7.3 Docker启动失败

Docker Desktop启动后一直在Starting状态,优先排查WSL2:

wsl --status wsl --update

WSL版本是1.x的话必须先升到2.x。另外检查BIOS虚拟化是否开启,这一步经常被忽略。如果虚拟机平台没启用,Docker Desktop会在日志里报错说找不到虚拟化后端。

7.4 Redis/Elasticsearch端口被占用

启动容器时提示端口占用,优先查什么程序占了端口:

netstat -ano | findstr "6379"

看到对应的PID后,继续查是哪个进程:

tasklist | findstr "PID号"

如果是无关程序,直接结束进程或者改容器映射端口,比如改成6378。我习惯本地开发统一用默认端口,冲突了就直接去服务管理器停掉占用服务,这样才能保证代码里写的连接地址不用改来改去。

7.5 Elasticsearch启动后中文分词问题

ES容器跑起来了,但搜索中文效果差,大概率是没装IK分词器。IK分词器需要匹配ES版本,下载对应release包后进容器安装或者用Dockerfile自定义镜像。如果你只是本地开发,可以用es默认的standard分词器先用着,正式做中文检索项目再上IK。

7.6 环境变量混乱导致Python版本错乱

Windows上最容易翻车的就是系统里存在多个Python。装了Python官网版本,又装了Anaconda,还开了WSL,终端里一跑python --version,出来的版本全凭运气。

解决方案是:手动检查系统PATH,把非conda管理的Python路径全部移除,只保留Miniconda相关的路径。然后在VS Code里明确指定解释器路径(前面settings.json配置里我们已经做了)。这样不管终端里还是编辑器里,执行的Python都是同一个,不会出现“明明装了包却import不到”的玄学问题。

7.7 常见问题速查表

现象排查方向解决方案
conda命令闪退环境变量、初始化状态执行conda init后重启终端
Docker启动失败WSL版本、虚拟化状态wsl --update,确认BIOS开启VT-x/AMD-V
docker拉镜像超时镜像源不可用、网络波动配置registry-mirrors,换可用加速地址
pip安装极慢默认官方源切换到清华镜像源
容器端口冲突本机端口被占用netstat查占用进程,改端口或停进程
Python版本错乱PATH中有多个Python清理PATH,VS Code指定解释器
ES启动即退出内存不足、JDK版本不匹配调整ES_JAVA_OPTS,使用ES捆绑JDK版本
Windows Terminal中文乱码终端编码问题设置chcp 65001,改用Windows Terminal默认UTF-8

8. 收尾:让这套环境成为你的日常开发底座

环境搭好只是开始,我用了一个星期之后,已经把这套组合完全融入了日常工作流。基本流程是这样的:早上打开电脑,启动Docker Desktop,让Redis和ES容器自动运行,然后用VS Code打开项目,PowerShell里conda activate ai_env进入Python环境,需要本地推理的时候跑Ollama对话,需要接云端大模型的时候就跑API脚本。整个过程没有打开过第三方工具,所有操作在Windows Terminal + VS Code里完成。

个人经验里还有几条值得分享:

第一,把常用命令保存成一个PowerShell脚本文件,放在用户目录下。比如启动中间件、激活环境、查看日志这些操作,别每次都手敲。我自己写了一个dev.ps1,里面封装了dev redis startdev es start这类简短命令,省下大量重复操作时间。

第二,VS Code的配置文件最好同步一下,用Settings Sync登录账号同步,换机器的时候五分钟就能恢复所有插件和配置。我是吃过这个亏的,重装系统后花了半个下午重新配环境。

第三,也是最重要的,环境干净是最大的生产力。不要图省事把所有库都装到base环境里,AI项目一律独立建env,每个项目一个环境,炸了直接删除重来,不影响全局。

把这篇文章里所有步骤走完,你的Windows机器就是一台能跑Python、能跑容器、能接大模型API、能本地推理的完整AI开发工作站了。后续想往哪个方向深入,都有稳固的地基在。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询