3
0
0

Windows 本地开发环境搭建:Python、虚拟环境与本地大模型

2026-10-19
2026-10-21

📝 笔记摘要:Windows 本地开发环境搭建

这篇把 Windows 上跑 Python 项目要的东西串一遍:Python 解释器、PyCharm、虚拟环境,再往上是一套能在本机跑的本地大模型。顺序是有讲究的——先把前三样弄利索,后面装什么都省事;反过来先折腾模型,出了问题分不清是环境没配好还是模型的事。

原笔记里记的是「装什么、去哪下」的动作,补上的是每一步为什么这么做和做错了会怎样。虚拟环境为什么必须激活、模型为什么非得放两级目录、LM Studio 和 Ollama 的参数为什么不完全一样,这几个点没讲清楚的话,后面每个项目都会重复踩。

1. 装 Python

官网 python.org/downloads/windows,下 64 位安装包,一路下一步。

Python 安装向导首屏,Install Now 下方列出安装路径,左下角 Install launcher for all users 和 Add Python to PATH 两个复选框,其中 Add Python to PATH 被红框圈出并已勾选

Add Python to PATH 一定要勾上
  不勾的话命令行里敲 python 认不出来,只能进安装目录用完整路径
  装了之后再补:重新运行安装包 → Modify → 勾上这一项,不用卸载重装
选哪个版本
  要跑现在的 AI 项目就上 3.12 或更高,torch、paddle 那一批库对新版本的支持滞后
  老项目锁死了版本的话,按项目 README 里的要求装对应版本,多版本可以并存
多个版本共存
  安装时勾 Customize installation,在附加组件那页把 py launcher 装上
py -3.12 --version py -3.11 --version 各版本各叫各的,互不干扰

2. PyCharm 与虚拟环境

IDE 挑 PyCharm。授权这块分开说清楚,因为是长期要用的东西。

PyCharm Community Edition 是永久免费的
  纯 Python 开发该有的都有:虚拟环境管理、包管理、断点调试、重构、Git 集成、Jupyter
  跑本地 AI 项目完全够用,这类项目本来就是纯 Python
什么要花钱
  Pro 版多的是 JavaScript / HTML 支持、数据库工具、远程开发、Jupyter 的部分高级功能
  纯 Python 写项目基本用不上
想要 Pro 的三条路子
30 天试用 官网直接下,功能全开放,到期不能续
学生 / 教师 用教育邮箱在官网申请,有效期一年,可续
开源作者 持续维护的开源项目可以去申请免费授权

装好之后给项目挂虚拟环境。Settings → Project → Python Interpreter → Add Interpreter → Add Local Interpreter → Virtualenv → 选项目根目录新建:

PyCharm 设置界面截图,Python Interpreter 页面右上角 Add Interpreter 下拉菜单展开,红框和红色箭头指向 Add Local Interpreter 选项,左侧包列表显示该项目已装的第三方库

选完之后 PyCharm 会在项目根目录生成 .venv 文件夹,右侧包列表就是这个环境里已装的库。

用 IDE 装的环境,命令行未必认得
  IDE 会自动激活,但你自己开的终端窗口不会
  在项目目录里敲一下确认:
.venv\Scripts\activate  PowerShell
.\.venv\Scripts\activate  CMD
  激活成功,提示符前面会多出 (.venv)
没激活就装包,会装到系统里去
  看着装上了,项目一运行就报 ModuleNotFoundError
  最典型的坑:IDE 里能跑,命令行里不能跑,反过来也一样

3. 虚拟环境到底在解决什么

三层关系图:最上层是系统 Python,装在 AppData 目录,整机共用;下方箭头标注 python -m venv .venv;再下方是项目 A 和项目 B 各自独立的 .venv,各自装着 paddleocr、torch、manga_translator 等库

系统 Python 只是提供解释器本体
  装在 C:\Users\你的用户名\AppData\Local\Programs\Python\Python3xx,整机一份
  它不需要、也不该往里装业务库
venv 是从系统复制出来的独立环境
  自带一份 Lib\site-packages,装什么只影响这个环境
  两个项目各建各的,依赖版本互相不打架
删了重建不心疼
  依赖装坏了、版本乱了,把 .venv 整个删掉,重建再装一遍
  代码一行都不用改,这是虚拟环境最大的价值
判断有没有激活
  看提示符前面有没有 (.venv) 或 (venv)
  没有就是还在系统环境里

命令行建环境的等价写法,IDE 里点一下和敲这两行是一回事:

# 在项目根目录建一个叫 .venv 的虚拟环境
python -m venv .venv

# 激活
.venv\Scripts\activate

# 按依赖清单装库
pip install -r requirements.txt

# 退出环境
deactivate

4. 本地大模型:LM Studio

要在本机跑一个能翻译日文的小模型,LM Studio 是最省事的选择,图形界面点几下就能出接口。

4.1 模型放哪:必须两级目录

从 Hugging Face 下下来的模型是 .gguf 文件(下下来的是 gguf 文件,不是 safetensors)。LM Studio 要自己扫目录,目录层级不对它就根本列不出来:

Windows 文件资源管理器截图,路径栏显示 E 盘 lmstudio 下的 models 目录再往下 sakura 模型名子目录,红框圈出这层两级目录结构,下方文件列表显示其中的 .gguf 模型文件约 11.8 GB

目录必须是两级
  models\sakura\sakura-14b-qwen2.5-v1.0-q6k\模型.gguf
  平铺成一层 models\模型.gguf 的话,界面里是空的
  下载下来的文件名经常还带着版本号,复制的时候别把目录压平了
路径在设置里改
  默认在用户目录下的 .cache\lmstudio\models,界面里能改成任意位置
  大模型动辄几个 G 十几 G,放到数据盘更合适

4.2 推理参数

LM Studio 推理界面截图,右侧参数面板展开显示系统提示文本框、温度滑块值为 0.1、Sampling 区的 Top K 与 Top P 采样参数,红色箭头分别指向系统提示、温度、Top P 采样三处

系统提示 就是 OpenAI 接口里 system 字段的内容
  专用的翻译模型已经把提示词训进权重了,这一栏一般保持原样
温度 temperature 取值 0 到 2,不同后端范围不一样
  值越低越稳、越正式,值越高越发散
  翻译、问答这类要稳定的任务,0.1 到 0.3 够用
Top P 采样 核采样,按累计概率截断候选词
  0.9 或 0.95 是通用值,比温度高就行
  两个参数是一起生效的,别指望只调一个就够
调不高温度的情况
  专用的翻译模型被刻意限制在低温区间,往上调只会让它乱说话

4.3 开接口

点左上角的 Developer → API Server,开关打开,日志区出现这一段就说明起来了:

LM Studio 开发者日志截图,红框圈出 Status 处的 Running 开关和 Reachable at 地址 http://127.0.0.1:1234,下方日志区显示 HTTP server listening on port 1234 和四个已支持的端点
curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
  "model": "本地模型列表里的名字",
  "messages": [
    { "role": "system", "content": "你是一个轻小说翻译模型" },
    { "role": "user", "content": "化け物屋敷" }
  ],
  "temperature": 0.1,
  "max_tokens": -1,
  "stream": false
}'

端口是 1234,接口路径带 /v1
  完整地址是 http://127.0.0.1:1234/v1,后面这个 /v1 很多项目要带
max_tokens: -1 表示不限长度
  这是 LM Studio 的约定,其他 OpenAI 兼容服务不一定认
模型名字要跟界面里显示的一致
  抄错会直接返回 model not found
接口开着不代表模型加载了
  真正跑到请求才会真正加载,第一次响应会明显慢一些

5. 本地大模型:Ollama

Ollama 是纯命令行的路子,模型管理和调用全靠命令。好处是能写进脚本,坏处是第一次要手动造一个 Modelfile。

装好之后先看装了哪些:

Ollama 命令行输出截图,表格列出 NAME、ID、SIZE、MODIFIED 四列,包含 zincles/sakura-1.5b-qwen2.5-v1.0-q5ks 和 killgfat/sakura-7b-ln-v0.9 两个模型及其量化版本、体积和修改时间

ollama list 这张表里,几行是模型名、几行是体积和修改时间。名字后面带量化后缀的才是真正能跑的,:latest 那种是 Modelfile 编译出来的别名。

把下好的 gguf 交给 Ollama 编译成一个模型:

# 把 gguf 变成 ollama 能认的模型
ollama create sakura -f Modelfile

# 直接开跑,进交互式对话
ollama run sakura

# 拉一个现成的官方模型
ollama pull qwen2.5:7b

Modelfile 里可以顺手把参数烘焙进去:

FROM /D/lmstudio/models/sakura/sakura-14b-qwen2.5-v1.0-q6k/sakura-14b-qwen2.5-v1.0-q6k.gguf

# 参数写在这里,调用的时候就不用再传
PARAMETER temperature 0.1
PARAMETER top_p 0.9
PARAMETER num_ctx 4096

# 可选:预置一段对话模板
TEMPLATE """<|im_start|>system
You are a professional translation engine.
<|im_end|>
<|im_start|>user
{{ .Prompt }}
<|im_end|>
<|im_start|>assistant
"""
Ollama 模型详情页截图,显示模型名称、参数量与量化类型 Q5_K_S、模板区段、系统提示区段,以及 parameters 区段中已固化的 temperature 和 top_p 取值

为什么调 Ollama 不用传温度
  因为参数已经被编译进 Modelfile 了,调用时直接走预设
  要临时改就 ollama run sakura 进交互模式里调,不要每次调用都传
和 LM Studio 的接口不一样
  LM Studio 走 /v1/chat/completions,是 OpenAI 兼容格式
  Ollama 默认走 /api/generate,格式是它自己的
  想让翻译工具直接连 Ollama,要用项目里的 OpenAI 兼容翻译器,地址填 http://localhost:11434/v1
模型占用的是显存不是内存
  没独显的话加载大模型会非常慢,甚至直接失败
  14B 的 q4 版本建议 8G 以上显存,1.5B 的没显存也能跑

6. 两种跑法怎么选

本地大模型接入链路图:顶部是 GGUF 模型文件,分两路分别进入 LM Studio 的 1234 端口和 Ollama 的 11434 端口,中间通过 HTTP POST 的 v1/chat/completions 箭头连到下方的 manga-image-translator 与 BallonTranslator 两个翻译工具,底部提示端口填错是最常见失败原因

第一次摸、想看效果 LM Studio
  图形界面能看到模型加载了没有、有没有报错,调参直接拖滑块
要写进脚本、接 CI Ollama
  命令能进 batch 和 crontab,参数固化进 Modelfile 不用每次传
只想要参数不想折腾 LM Studio 的 OpenAI 兼容接口
  大部分项目认这个格式,填个地址就能接
端口一定要对上
  LM Studio 是 1234,Ollama 是 11434
  很多项目默认填 8080,那是给本地独立推理服务留的,用前两者必须改

💡 补充几个原文没写的:

Python 版本别装太新
  3.13 刚出来的时候 torch、pydensecrf 这些还没跟上
  manga-image-translator 官方现在明确要求 3.12 或更高,新版本走 py -3.12 切过去
磁盘规划
  模型文件 10G 上下很正常,venv 加依赖再吃掉几个 G
  装之前先看一眼 C 盘剩余空间,模型目录改到其他盘
pip 换源
  默认走 PyPI,国内慢得离谱
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
  全局生效一次就够,比每次敲 -i 省事
requirements 里的本地路径
  有些依赖写的是 ./models/xxx 相对路径
  必须在项目根目录执行 pip install,换目录装就会找不到
虚拟环境要不要进 Git
  不要。把 .venv/ 写进 .gitignore
  不同机器的虚拟环境不通用,Windows 里的更是完全没法在 Linux 用
PyCharm 里切换环境
  右下角状态栏点解释器名字就能换,不用回设置页
  换了之后要重新装一遍依赖,解释器换了等于换了个干净的空环境

🔥 一句话总结:Windows 上跑 Python 项目,顺序是「装 Python 勾上 PATH → PyCharm 建项目挂 .venv → 命令行用 .venv\Scripts\activate 确认激活 → pip install -r requirements.txt」;要本机跑大模型就再加一层,LM Studio 放两级目录、端口 1234,Ollama 用 Modelfile 烘焙参数、端口 11434,两者都只把模型加载一次,翻译工具再按 HTTP 接口调它。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!