【记录】打包便携版Python
Last updated on January 18, 2025 am
内网电脑是 win7,且不想改变电脑的环境设置,因此打包一个便携版的 Python 来自用。
准备文件
从 python-3810 下载最后支持 win7 的编译好的文件
- python-3.8.10-amd64.exe
- python-3.8.10-embed-amd64.zip
KB2533623 更新
- 安装 KB3063858
- 重启 win7 虚拟机,再运行 python-3.8.10-amd64.exe
- 取消勾选
install launcher
, 从Custmoize installation
继续 - 只勾选
pip
和tcl/tk
,取消其他所有勾选,继续 - 选一个临时目录A,取消所有勾选,再勾上
Precompile standard lib
,继续
pip 安装需要的包
- 打开目录A的 Scripts 文件夹,地址栏输入 cmd
pip install httpx lxml -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
- 安装完成后测试安装的包正常运行
构造便携版
- 将
Lib/site-packages
移动到目录A内,重命名为mods
- 将
Lib/tkinter
移动到mods
目录内 - 将 python-3.8.10-embed-amd64.zip 中的 python38.zip 放到目录A内
- 目录A内创建名为
python38._pth
的文本文件,其内容如下
1 |
|
- 移除
Lib、libs、include、Scripts、Tools
等文件夹, - 只保留
DLLs
、mods
、tcl
这三个文件夹,同时创建site-packages.zip
文件 - 进入
mods
文件夹,删除不必须的包,然后将包一个一个移入site-packages.zip
- 每移动一个测试安装的包是否正常运行,不能则保留在
mods
文件夹 - 直到所有包都测试完毕,此时碎片文件数量达到最优
测试便携版
- 将目录A打包成 python-3.8.10-amd64.zip
- 将虚拟机回滚到初始快照,安装 KB3063858 更新后重启
- 解压 python-3.8.10-amd64.zip,测试是否可用
打包好的成品
- Python-Win7-X64_httpx.zip
- 该成品可以在重装后只安装了 KB3063858 一个更新的 Win7 系统中无依赖运行
- 同时可以使用
tkinter
、httpx
和lxml
这三个模块和所有python内置的模块 - 配合 Chrome-Win7-X64.zip 便携版,可以方便内网抓包写小脚本。
【记录】打包便携版Python
https://hexo.limour.top/portable-python-package