Windows 本地开发环境搭建:Python、虚拟环境与本地大模型
📝 笔记摘要:Windows 本地开发环境搭建
这篇把 Windows 上跑 Python 项目要的东西串一遍:Python 解释器、PyCharm、虚拟环境,再往上是一套能在本机跑的本地大模型。顺序是有讲究的——先把前三样弄利索,后面装什么都省事;反过来先折腾模型,出了问题分不清是环境没配好还是模型的事。
原笔记里记的是「装什么、去哪下」的动作,补上的是每一步为什么这么做和做错了会怎样。虚拟环境为什么必须激活、模型为什么非得放两级目录、LM Studio 和 Ollama 的参数为什么不完全一样,这几个点没讲清楚的话,后面每个项目都会重复踩。
1. 装 Python
官网 python.org/downloads/windows,下 64 位安装包,一路下一步。
Add Python to PATH 一定要勾上
不勾的话命令行里敲python认不出来,只能进安装目录用完整路径
装了之后再补:重新运行安装包 → Modify → 勾上这一项,不用卸载重装
选哪个版本
要跑现在的 AI 项目就上 3.12 或更高,torch、paddle 那一批库对新版本的支持滞后
老项目锁死了版本的话,按项目 README 里的要求装对应版本,多版本可以并存
多个版本共存
安装时勾 Customize installation,在附加组件那页把py launcher装上
py -3.12 --versionpy -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 会在项目根目录生成 .venv 文件夹,右侧包列表就是这个环境里已装的库。
用 IDE 装的环境,命令行未必认得
IDE 会自动激活,但你自己开的终端窗口不会
在项目目录里敲一下确认:
.venv\Scripts\activatePowerShell
.\.venv\Scripts\activateCMD
激活成功,提示符前面会多出(.venv)
没激活就装包,会装到系统里去
看着装上了,项目一运行就报ModuleNotFoundError
最典型的坑:IDE 里能跑,命令行里不能跑,反过来也一样
3. 虚拟环境到底在解决什么
系统 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 要自己扫目录,目录层级不对它就根本列不出来:
目录必须是两级
models\sakura\sakura-14b-qwen2.5-v1.0-q6k\模型.gguf
平铺成一层 models\模型.gguf 的话,界面里是空的
下载下来的文件名经常还带着版本号,复制的时候别把目录压平了
路径在设置里改
默认在用户目录下的.cache\lmstudio\models,界面里能改成任意位置
大模型动辄几个 G 十几 G,放到数据盘更合适
4.2 推理参数
系统提示 就是 OpenAI 接口里
system字段的内容
专用的翻译模型已经把提示词训进权重了,这一栏一般保持原样
温度 temperature 取值 0 到 2,不同后端范围不一样
值越低越稳、越正式,值越高越发散
翻译、问答这类要稳定的任务,0.1 到 0.3 够用
Top P 采样 核采样,按累计概率截断候选词
0.9 或 0.95 是通用值,比温度高就行
两个参数是一起生效的,别指望只调一个就够
调不高温度的情况
专用的翻译模型被刻意限制在低温区间,往上调只会让它乱说话
4.3 开接口
点左上角的 Developer → API Server,开关打开,日志区出现这一段就说明起来了:
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 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 不用传温度
因为参数已经被编译进 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. 两种跑法怎么选
第一次摸、想看效果 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 接口调它。
