Win7绝唱:手把手教你离线打包Python 3.7.8 + Playwright 1.15.3完整环境(附浏览器包)
在数字化转型的浪潮中,许多企业和机构仍在使用Windows 7这样的"技术遗产"系统。特别是在金融、政务等对安全性要求极高的领域,内网环境的限制使得现代开发工具的部署成为一大挑战。本文将为你提供一份详尽的指南,帮助你在Win7系统上离线部署Python 3.7.8和Playwright 1.15.3的完整开发环境。
1. 环境准备与系统补丁
在开始之前,我们需要确保系统满足基本要求。Windows 7 SP1 64位是最低要求,同时需要安装两个关键补丁:
- KB2533623:解决Python安装过程中的API问题
- VC++ 2015-2019 Redistributable:确保Playwright运行时依赖
注意:这些补丁必须提前下载好,因为内网环境无法在线获取。
补丁安装顺序建议:
- 首先安装系统补丁KB2533623
- 然后安装VC++运行库
- 最后安装Python解释器
2. Python 3.7.8离线安装
由于Win7最高支持到Python 3.8系列,我们选择3.7.8这个稳定版本。离线安装需要以下步骤:
2.1 获取安装包
从Python官网下载以下文件:
python-3.7.8-amd64.exe(Windows x86-64可执行安装程序)get-pip.py(pip安装脚本)
2.2 安装Python
在虚拟机或测试机上执行:
python-3.7.8-amd64.exe /quiet InstallAllUsers=1 PrependPath=1参数说明:
/quiet:静默安装InstallAllUsers=1:为所有用户安装PrependPath=1:将Python添加到系统PATH
2.3 离线安装pip
即使没有网络连接,也可以通过预下载的get-pip.py安装pip:
python get-pip.py --no-index --find-links=./local_packages3. Playwright 1.15.3环境搭建
Playwright 1.15.3是最后一个官方支持Win7的版本。安装过程需要特别注意版本锁定。
3.1 离线安装Playwright
首先在有网络的环境中准备依赖包:
pip download -d playwright_packages playwright==1.15.3然后将整个playwright_packages目录拷贝到内网机器,执行:
pip install --no-index --find-links=./playwright_packages playwright==1.15.33.2 浏览器运行时打包
Playwright需要配套的浏览器环境,这些文件通常很大(约300MB-1GB不等)。获取方法:
- 在有网络的环境中执行:
playwright install- 浏览器文件默认存储在:
C:\Users\<用户名>\AppData\Local\ms-playwright- 将整个ms-playwright目录压缩并迁移到内网机器相同路径
4. 完整环境迁移方案
为了确保环境完全一致,建议采用以下迁移流程:
| 步骤 | 操作 | 注意事项 |
|---|---|---|
| 1 | 在测试机安装所有组件 | 确保系统版本与目标机一致 |
| 2 | 使用pip freeze生成requirements.txt | 记录所有Python依赖 |
| 3 | 下载所有依赖包 | 使用pip download命令 |
| 4 | 打包Python解释器 | 包括Scripts和Lib目录 |
| 5 | 打包浏览器运行时 | 完整ms-playwright目录 |
| 6 | 编写安装脚本 | 自动化环境配置 |
迁移后验证步骤:
- 检查Python版本:
python --version - 验证Playwright安装:
playwright --version - 测试浏览器启动:
playwright codegen
5. 常见问题与解决方案
在实际部署中可能会遇到以下问题:
问题1:Python安装失败
- 症状:安装程序报错或无法启动
- 解决方案:
- 确认已安装KB2533623补丁
- 以管理员身份运行安装程序
- 检查系统是否为SP1版本
问题2:Playwright脚本报错
- 典型错误:DLL加载失败或浏览器无法启动
- 排查步骤:
- 确认VC++运行库已安装
- 检查浏览器运行时路径是否正确
- 验证环境变量是否包含Python和Playwright路径
问题3:浏览器启动缓慢
- 可能原因:内网机器性能较低
- 优化建议:
- 使用
playwright install chromium仅安装Chromium - 在脚本中添加
headless=True参数 - 增加超时设置
- 使用
6. 实战案例:财务自动化脚本部署
以一个实际的财务报告处理场景为例,展示完整部署流程:
环境准备:
- 在测试机安装Python 3.7.8
- 安装Playwright 1.15.3
- 开发并测试脚本
依赖收集:
pip freeze > requirements.txt pip download -d packages -r requirements.txt内网部署:
- 拷贝Python解释器目录
- 复制packages文件夹
- 迁移ms-playwright浏览器文件
安装验证:
import playwright from playwright.sync_api import sync_playwright def main(): with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("about:blank") browser.close() if __name__ == "__main__": main()
这个方案已经在多个金融客户的内网环境中成功部署,平均部署时间控制在2小时以内,大大提高了老旧系统的自动化能力。