没有网络怎么安装Python?离线安装包获取与使用指南
针对隔离内网、工控机等无互联网受限环境,系统讲解如何获取Python官方完整离线安装程序、无网部署步骤、环境变量注册以及pip离线批量安装第三方依赖包的完整实操指南。
一、离线部署前的关键准备:目标机环境核实与安装包选型
在前往有网机器下载文件之前,首先需要明确目标离线计算机的软硬件环境参数。脱离目标环境盲目下载安装包,最容易在安装或运行环节出现架构不匹配或底层动态链接库缺失的问题。
1. 确认无网目标机的系统架构与版本
在目标无网计算机上确认以下两项核心指标:
- 操作系统版本与位数:在 Windows 下按下
Win + R,输入winver或msinfo32查看操作系统版本,并在“系统类型”中核实是“基于 x64 的电脑”(64 位)还是“基于 x86 的电脑”(32 位)。目前主流设备绝大多数为 64 位(x86-64 / AMD64)。 - 操作系统内核限制:注意 Windows 7 和 Windows Server 2008 R2 最高仅支持 Python 3.8 版本;如果目标机是 Windows 7 且物理离线,安装 Python 3.9 及以上版本会在启动时直接报错退出;Windows 10、Windows 11 以及 Windows Server 2016 以上系统建议直接选择稳定的 Python 3.10 或 3.11 长期支持版本。
2. 官方下载页面的三种 Windows 离线介质形态对比
Python 官方下载列表(python.org/downloads/windows)中提供了多种看似相似的下载链接,很多初学者在离线场景下误选了不适用的安装包,导致后续无法配置或无法使用 pip。以下是官方常见安装包形态的对比:
| 安装包类型 | 典型文件名格式 | 内置核心组件 | 离线环境适用性与评级 |
|---|---|---|---|
| Windows installer (64-bit) | python-3.11.9-amd64.exe (~25MB) |
解释器、完整标准库源码、pip、IDLE、Tkinter、PATH写入工具 | 首选推荐(★★★★★):独立自闭环,离线直接运行即可完成系统级配置。 |
| Windows embeddable package (64-bit) | python-3.11.9-embed-amd64.zip (~10MB) |
精简运行时、python3xx.dll、压缩标准库 zip | 特定场景(★★☆☆☆):默认不含 pip、无 Tkinter,无网环境下补全配置极其繁琐,切勿作为常规开发环境。 |
| Gzipped source tarball | Python-3.11.9.tgz (~26MB) |
全平台 C 语言源码文件 | Linux备选(★★★☆☆):需目标机预装 GCC、Make、OpenSSL-devel 等离线编译链。 |
二、在联网主机上获取离线安装资源与依赖池
离线安装包必须在联网电脑端提前规划并下载完毕。这一阶段不仅需要下载 Python 解释器本身的安装包,若后续业务涉及 numpy、pandas、requests 等第三方扩展库,也必须在联网机上利用 pip 预先下载离线 Wheel 包。
1. 下载官方完整独立安装程序
在联网电脑的浏览器中打开 Python 官方稳定版本归档页面:https://www.python.org/downloads/windows/。在页面中找到目标版本(例如 Python 3.11.9),找到并点击:
Windows installer (64-bit)
下载完成后,你会得到一个大小约为 25MB 的可执行文件 python-3.11.9-amd64.exe。请勿选择带有“web-based installer”字样的安装包,网络安装包只有 1~2MB,其本质是一个下载器,在无网机器上启动后会因无法连接网络直接中断退出。
2. 批量拉取第三方库离线依赖包(Wheel 文件池)
在无网络环境下,目标机执行常规的 pip install package_name 必然因连接超时而失败。因此,必须在联网电脑上将第三方库及其所有递归依赖项全部下载为 .whl 二进制包。
在联网电脑上新建一个临时目录,例如 D:\py_offline_cache,并在其中创建依赖清单文件 requirements.txt,列出目标项目所需库:
requests>=2.31.0
pandas>=2.0.0
openpyxl>=3.1.0
随后在联网电脑的命令提示符(CMD)中执行 pip download 命令,将库本身及其依赖的全部 wheel 包存入本地 packages 文件夹:
cd /d D:\py_offline_cache
pip download -r requirements.txt -d .\packages --platform win_amd64 --python-version 311 --only-binary=:all:
File ./packages/requests-2.31.0-py3-none-any.whl (62 kB)
Collecting pandas>=2.0.0 (from -r requirements.txt (line 2))
File ./packages/pandas-2.2.2-cp311-cp311-win_amd64.whl (11.6 MB)
Collecting numpy>=1.23.2 (from pandas>=2.0.0->-r requirements.txt (line 2))
File ./packages/numpy-1.26.4-cp311-cp311-win_amd64.whl (15.8 MB)
Successfully downloaded requests pandas openpyxl numpy python-dateutil pytz ...
--platform win_amd64 与 --python-version 311 确保即便联网电脑自身使用的是其他系统(如 macOS 或 Linux),也能精准下载适合目标 Windows 64 位机器与 Python 3.11 运行时的预编译二进制轮子,杜绝平台不匹配风险。
3. 计算哈希值与介质转移
为防止移动硬盘或 U 盘拷贝过程中文件损坏导致离线安装报“数据冗余校验错误”,建议在联网机执行哈希校验:
CertUtil -hashfile D:\py_offline_cache\python-3.11.9-amd64.exe SHA256
将 python-3.11.9-amd64.exe 安装程序与 packages 文件夹(包含全部 .whl 文件和 requirements.txt)一同拷贝到 U 盘或移动硬盘中,随后连接至无网目标计算机。
三、在无网络计算机上安装与配置 Python 基础环境
将移动介质内的安装文件复制到目标离线计算机的本地磁盘(例如 D:\offline_py\),避免直接在 U 盘中运行安装,以提高安装速度并规避介质读写休眠引发的异常。
1. 交互式图形界面安装操作步骤
在离线电脑上右键点击 python-3.11.9-amd64.exe,选择“以管理员身份运行”,并严格遵循以下步骤:
- 勾选关键选项:在安装启动界面的最底部,务必勾选 “Add python.exe to PATH”(将 Python 解释器自动注册到系统全局环境变量)。同时勾选 “Use admin privileges when installing py.exe”。
- 进入高级定制:点击 “Customize installation”(自定义安装),不要直接点击顶部的“Install Now”。
- 确认功能特性(Optional Features):
Documentation(官方离线文档,按需勾选);pip(必须保持勾选,确保安装离线包管理工具);tcl/tk and IDLE(必须保持勾选,自带基础图形界面与编辑器);Python test suite(可取消勾选以节约空间);py launcher(保持勾选)。
- 高级选项设置(Advanced Options):
- 勾选 “Install Python 3.11 for all users”(为本机所有系统用户安装);
- 勾选 “Precompile standard library”(预编译标准库,加速初次启动速度);
- 修改安装路径(Customize install location):默认路径通常在深层 AppData 目录下,容易因权限或长路径出问题。建议修改为结构简单、无中文字符、无空格的目录,例如:
C:\Python311或D:\Development\Python311。
- 执行安装:点击“Install”,安装向导将直接解包本地封装的标准库并写入注册表。全程无需联网,大约 1~2 分钟即可完成。
- 解除长路径限制(重要):安装成功界面会显示“Setup was successful”,底部若出现 “Disable path length limit” 按钮,务必点击它一次。该操作将解除 Windows 系统默认的 260 字符文件路径限制,防止后续安装深度嵌套的依赖库时报错。随后点击 Close 关闭向导。
2. 内网批量部署场景:命令行静默安装(无人值守)
如果无网目标机是 Windows Server 核心服务器或需要通过内网运维脚本批量部署,可使用系统管理员身份打开 CMD,直接执行静默安装命令:
D:\offline_py\python-3.11.9-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_pip=1 TargetDir="C:\Python311"
该命令将在后台无窗口执行,自动配置全局 PATH 环境变量并将解释器部署在 C:\Python311。
四、在无网络计算机上安装第三方库(pip 离线本地模式)
安装好 Python 基础环境后,如果直接执行常规的 pip 命令,pip 会默认向官方 PyPI 服务器发起 HTTP 请求,在无网机器上会反复重试直到抛出超时错误。必须通过指定参数,让 pip 在本地目录中查找离线依赖。
1. 单个 Wheel 包的本地离线安装
如果只需安装单个独立工具包,在离线目标机的 CMD 控制台中执行:
pip install --no-index --find-links=D:\offline_py\packages requests
2. 批量多依赖离线安装(基于 requirements.txt)
对于存在复杂依赖树的业务工程,将从联网机下载的整个 packages 文件夹和 requirements.txt 放置在同级目录下,执行批量安装:
cd /d D:\offline_py
pip install --no-index --find-links=.\packages -r requirements.txt
Processing .\packages equests-2.31.0-py3-none-any.whl
Processing .\packages\pandas-2.2.2-cp311-cp311-win_amd64.whl
Processing .\packages umpy-1.26.4-cp311-cp311-win_amd64.whl
Processing .\packages\openpyxl-3.1.2-py2.py3-none-any.whl
Installing collected packages: pytz, python-dateutil, numpy, urllib3, idna, charset-normalizer, certifi, requests, pandas, openpyxl
Successfully installed certifi-2024.2.2 charset-normalizer-3.3.2 idna-3.7 numpy-1.26.4 openpyxl-3.1.2 pandas-2.2.2 python-dateutil-2.9.0.post0 pytz-2024.1 requests-2.31.0 urllib3-2.2.1
--no-index 表示明确禁止 pip 查询公网 index-url,不会发出任何网络数据包;--find-links=.\packages 命令 pip 直接扫描本地物理目录内的所有 .whl 文件,并基于文件元数据自动计算拓扑依赖完成组装。
五、离线环境结果验证与常见故障排查
完成 Python 与第三方依赖的安装后,需要通过一系列标准化指令验证环境的完整性,并针对无网内网机器常见的特有故障进行排除。
1. 基础环境可用性验证
重新打开一个新的 CMD 控制台(注意:必须重新打开终端,以便加载刚写入的环境变量),依次执行以下验证指令:
python --version
pip --version
pip 24.0 from C:\Python311\Lib\site-packages\pip (python 3.11)
接着在终端中执行内联单行验证,测试已安装模块是否能在离线状态下正确导入并调用底层 C 扩展:
python -c "import pandas as pd, requests, numpy as np; print('环境正常,模块版本:', pd.__version__, np.__version__)"
2. 无网环境四大典型报错与精准排查方案
-
报错:“python 不是内部或外部命令,也不是可运行的程序”
原因:安装时未勾选“Add python.exe to PATH”,或是在安装完成前就已经打开了 CMD 窗口。
解决方法:首先尝试关闭并重新打开 CMD。若仍无效,右键“此电脑”选择“属性” -> “高级系统设置” -> “环境变量” -> 在“系统变量”中找到Path,点击编辑,在末尾手动追加两行绝对路径:
保存退出后重新启动终端即可。C:\Python311 C:\Python311\Scripts -
报错:“无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll”
原因:某些工控专用机、精简版系统或未安装更新补丁的早期 Windows 缺少微软通用 C 运行库(Universal C Runtime)。
解决方法:在联网电脑上搜索并下载微软官方运行库安装包VC_redist.x64.exe(Visual C++ Redistributable 2015-2022),拷入离线目标机双击安装并重启系统,即可补齐运行库动态链接文件。 -
报错:pip 离线安装提示“ERROR: No matching distribution found for package_name”
原因:wheel 文件的平台标签(Platform Tag)与无网机不兼容。例如在联网的 32 位系统下拉取了 32 位轮子,而目标机是 64 位;或者包名对应的 Python 版本不一致(如 wheel 为 cp310,目标机为 cp311)。
解决方法:返回联网机器重新执行下载时,必须显式附加参数约束:pip download package_name -d ./packages --platform win_amd64 --python-version 311 --only-binary=:all: -
报错:“Could not install packages due to an OSError: [Errno 2] No such file or directory”
原因:Windows 传统 260 字符路径深度溢出。
解决方法:打开注册表编辑器regedit,定位至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将项LongPathsEnabled的 DWORD 值修改为1。
六、无网络生产环境维护与最佳实践
在企业级隔离网络、保密机房或生产工控系统中,长期维护 Python 环境还需要注意以下实践原则:
- 建立受控离线 Wheel 轮子库:建议在内网本地服务器上设立专门的
python_repo共享目录,将日常业务开发所需的所有.whl文件集中存档管理,避免每次有新机器部署时重复进行外部下载与摆渡审核。 - 善用虚拟环境(venv)隔离项目:在离线电脑上依然建议为不同任务建立虚拟环境:
这样可以避免全局 site-packages 库版本冲突,当需要迁移项目时,只需重新执行本地 wheel 安装即可。执行位置:项目工作目录 离线创建与激活虚拟环境
python -m venv my_project_env my_project_env\Scriptsctivate pip install --no-index --find-links=D:\offline_py\packages -r requirements.txt - 全量打包备用介质保存:在离线环境正式投产后,将对应版本的安装程序
python-3.x.x-amd64.exe、VC_redist.x64.exe运行库以及全部packages轮子目录统一刻录只读光盘或存入受控专用归档 U 盘,作为机房应急运维的永久备件。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













