怎么在Win10上离线安装Python?无网环境部署教程
在无网络连接的Windows 10环境中离线安装Python的完整实操教程。详解脱机独立安装包下载、VC++运行库补齐、安装向导PATH配置、禁用应用执行别名拦截,以及使用pip离线轮子(wheel)搭建本地依赖环境的全流程。
一、资产筹备:在联网计算机上准备离线介质
无网环境部署的最大难点在于“无法在安装期间进行临时网络请求”。一旦在目标机上点击安装程序却发现缺少底层 DLL 动态库,或者执行 pip 时因尝试连接远端服务器超时,整个安装过程就会陷入停滞。因此,前置筹备必须一次性集齐三大离线组件。
1. 选对 Python 官方安装包类型
Python 官方下载页通常针对 Windows 提供多种文件格式,必须准确辨析:
- Windows installer (64-bit / amd64):体积通常在 25MB 至 30MB 之间。这是唯一的离线完整安装程序,内部集成了 Python 解释器核心、标准库、pip 基础安装包、Tcl/Tk 运行时以及完整离线文档。
- Windows embeddable package (64-bit):解压即用的嵌入式绿色压缩包,不包含 pip 和 GUI 交互工具,适合作为大型客户端的内置组件,不推荐作为独立开发与运行环境。
- Windows installer (web-based) / 网页安装器:体积仅数百 KB,仅包含引导代码,运行时强制联网下载组件。在无网环境下启动会直接提示网络错误而中断。
下载时必须选择文件名类似为 python-3.11.8-amd64.exe(或相应所需版本的 amd64 格式)的离线执行文件。
2. 准备 Microsoft Visual C++ 运行库补丁
Python 3 官方 Windows 二进制包高度依赖微软通用 C 运行库(Universal C Runtime)。虽然较新的 Windows 10 系统已默认内置,但在许多企业内网、军工科研单位或生产车间的工控机上,系统常采用精简版 Windows 10 LTSC 或长期未更新的基础镜像,极易缺失 VCRUNTIME140.dll 等关键文件。因此,应在联网端同步下载 64 位的 VC_redist.x64.exe(Visual C++ 2015-2022 Redistributable),作为前置保障。
3. 预先拉取业务所需的第三方库(Wheels)
如果无网机需要运行数据处理或业务脚本(例如使用 pandas、requests、openpyxl 等),仅安装 Python 主体是不够的。需要在联网机器上准备一个空目录,利用 pip 的下载指令把全量二进制轮子包提前拉取到本地:
# 导出或编写项目的依赖清单 requirements.txt
# 执行 download 命令,指定下载目录为 ./packages
pip download -r requirements.txt -d ./packages
二、无网环境安装:Win10 目标机交互实操
将上述文件拷贝至 U 盘或受控移动介质,转运并挂载至目标 Windows 10 机器。推荐在目标机的非系统盘根目录(如 D:\py_install\)新建临时目录存放安装包,避免直接在易受安全策略限制的移动介质根目录下直接启动。
1. 交互式安装向导的四个核心配置项
双击运行 python-3.11.8-amd64.exe,安装向导将弹出。为确保无网环境下的稳定可用,不要直接点击醒目的“Install Now”,而必须按照如下规范完成配置:
- 勾选首页底部的 PATH 自动写入: 在向导首屏最下方,务必勾选 “Add python.exe to PATH”(部分早期 3.x 版本文本为 Add Python 3.x to PATH)。勾选后,安装器会自动将 Python 根目录和 Scripts 脚本目录写入 Windows 系统环境变量。如果漏选此项,在没有网络可以快速查阅网络解决方案的环境下,需要手动进入系统属性配置多条环境变量。
-
进入自定义安装(Customize installation):
点击界面上的“Customize installation”。在接下来的 Optional Features 列表中,保持 Documentation 勾选。无网环境下无法访问 Python 官方网站或 Stack Overflow,本地安装的
.chm离线文档是离线查阅标准库与语法手册的唯一完整参考源;同时确保 pip 和 tcl/tk and IDLE 处于选中状态。 -
设置高级选项与扁平安装路径:
点击 Next 进入 Advanced Options 页面,勾选 “Install Python for all users”(为所有用户安装)。同时,将默认由系统生成的深层用户路径(形如
C:\Users\用户名\AppData\Local\Programs\Python\Python311)修改为扁平、规范且不含空格与中文字符的路径,例如:C:\Python311或C:\Program Files\Python311。 这种扁平化命名有效防止了后续第三方轮子编译和路径解析中因中文用户名或过长路径引起的意外异常。 - 点击解除长路径限制(Disable path length limit): 安装进度完成后,在最后的“Setup was successful”界面中,底部会出现一个带有盾牌图标的按钮 “Disable path length limit”。请务必点击该按钮。由于 Windows 原生对文件路径保留了 260 字符(MAX_PATH)的历史限制,而现代 Python 包(特别是包含深层子模块的轮子库)极易发生路径溢出,点击此按钮可直接在注册表中激活长路径支持。
2. 命令行静默无人值守安装(批量部署可选)
如果是针对多台生产机或需要通过内部脚本批量部署,可以在具备管理员权限的 CMD 或 PowerShell 窗口中,直接以静默模式调用独立安装器。该命令一次性完成所有用户授权、PATH 注入与路径扁平化:
python-3.11.8-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 TargetDir="C:\Python311" Shortcuts=1 Include_doc=1 Include_pip=1
/quiet 表示不显示图形界面;InstallAllUsers=1 将安装范围扩大至所有本地用户;PrependPath=1 会把 Python 目录置于系统 PATH 变量的前端;TargetDir 明确指定目标目录。
三、环境校准:清除 Win10 特有的“应用别名”拦截
在 Windows 10 系统上安装 Python 后,许多用户在终端中键入 python 时,并不会显示 Python 交互提示符,而是意外弹出了 Windows 自带的 Microsoft Store(微软应用商店)下载页。在无网环境下,应用商店还会提示网络连接错误,导致终端无法正常调用解释器。
这是 Windows 10 引入的“应用执行别名(App Execution Aliases)”机制所致。系统在 C:\Users\用户名\AppData\Local\Microsoft\WindowsApps 下预置了一个 0 字节的 python.exe 引导程序,其环境变量默认优先排在系统其它路径前面。
关闭应用执行别名的具体操作步骤:
- 在目标机按下快捷键
Win + I打开 Windows 设置。 - 依次点击 “应用” -> “应用和功能”。
- 在右侧或左侧列表中找到并点击 “应用执行别名” 链接。
- 在弹出的别名列表中,找到名为 “应用安装程序 (python.exe)” 和 “应用安装程序 (python3.exe)” 的两个开关项,将其全部切换为 “关”。
关闭后,重新打开一个全新的 CMD 或 PowerShell 终端,再次执行命令验证:
# 检查当前调用的 Python 解释器版本
python --version
# 查看命令实际指向的物理二进制路径
where python
四、离线生态:基于本地轮子的 pip 依赖分发
在离线环境下,运行常规的 pip install package_name 会不可避免地出现报错,因为 pip 默认行为是发起 HTTP 请求向官方 PyPI 仓库拉取包索引。在断网状态下,这会导致漫长的等待直至出现 ConnectionError 或 ReadTimeoutError。
1. 批量安装本地离线 Wheel 包
将第一阶段通过 pip download 收集的全部 .whl 文件和 requirements.txt 拷贝到目标机(例如放置在 D:\py_packages 目录下),执行以下命令:
# 必须使用 --no-index 彻底禁用远程索引查找
# 必须使用 --find-links 指定本地轮子文件所在的绝对目录
pip install --no-index --find-links=D:\py_packages -r D:\py_packages\requirements.txt
2. 安装单个独立的 .whl 文件
如果只需要安装某一个特定工具或库,且该轮子无额外级联依赖,可以直接指向该文件的完整路径进行安装:
pip install --no-index D:\py_packages\openpyxl-3.1.2-py2.py3-none-any.whl
C:\Program Files\Python311 等受 Windows UAC 保护的系统保护目录中,普通权限终端执行 pip 会报 [WinError 5] Access is denied 错误。此时应以管理员身份运行 CMD,或者在命令末尾添加 --user 参数将包安装至当前用户目录。
五、安装验证与故障排查决策
为快速定位并排除离线安装中可能出现的边缘异常,可参考以下自愈决策流程:
| 异常现象 | 根本原因 | 针对性脱机修复方案 |
|---|---|---|
| 弹窗提示缺失 VCRUNTIME140.dll | 当前 Win10 为精简版或 LTSC 版本,未预装 VC++ 2015-2022 运行时。 | 在目标机双击安装提前准备的 VC_redist.x64.exe,安装完毕后重新启动终端。 |
| 命令行显示“'python' 不是内部或外部命令” | 安装时漏选了 Add to PATH,或者环境变量变更未被当前已打开的 CMD 继承。 | 先关闭并重启 CMD 窗口。若仍未解决,在“高级系统设置 -> 环境变量 -> 系统变量 -> Path”中手动添加 C:\Python311 与 C:\Python311\Scripts。 |
| 终端启动 python 弹出微软应用商店 | Win10 默认的 App Execution Aliases 劫持了命令调用。 | 进入系统“设置 -> 应用 -> 应用执行别名”,关闭对应 python.exe 和 python3.exe 的切换开关。 |
| pip install 提示 No matching distribution found | 在联网端拉取轮子时,Python 版本或系统架构(32/64位)与目标机不匹配,或遗漏了上游子依赖。 | 检查报错中缺失的包名,在联网机以严格相同的 Python 版本重新执行 pip download 缺失包名 -d ./packages 并拷贝补充。 |
终态健康度验收检查
在所有步骤完成后,在无网机上依次执行以下两行验收命令,若均能正确输出路径与安装列表,则表明该无网环境下的 Python 及其包管理系统已完全就绪:
# 校验解释器解析路径及内核健康度
python -c "import sys; print('解释器绝对路径:', sys.executable); print('Python系统架构:', sys.maxsize > 2**32 and '64-bit' or '32-bit')"
# 检查已安装的三方库列表
pip list
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













